Object-Oriented GUI Library

User projects written in or related to FreeBASIC.
datwill310
Posts: 354
Joined: May 29, 2015 20:37
Location: England
Contact:

Object-Oriented GUI Library

Postby datwill310 » Nov 22, 2016 21:00

(This is my first project which I'm actually posting online ever, so bare with me!)

Hi, welcome to my OO GUI library for Windows! Hopefully it is of use to anyone who wishes to program GUI applications!

The GitHub repository can be found here.

Version 2.1 is the latest stable version.

The OGL is released under the 3-Clause BSD license. If you have already been using this library before it was licensed properly, don't worry: it does not limit your rights to use the library, it actually supports them.

I will accept comments, feedback, suggestions, and any help in this forum post. I think you can do that stuff in GitHub, but I'm still a noob and I don't know these things XD!

More information can be found at the repository.

Thanks for your time!
Last edited by datwill310 on Mar 15, 2017 0:26, edited 16 times in total.
MrSwiss
Posts: 3029
Joined: Jun 02, 2013 9:27
Location: Switzerland

Re: Object-Oriented GUI Library

Postby MrSwiss » Nov 22, 2016 21:58

First problem encountered:
An error occurred while loading MEGA.
The file "lang/en_f658ca379bc8c971bd26b329a0da345afd593abdf3a4989306bd588c1977740d.json" could not be loaded.
Please try again later. We apologize for the inconvenience.
If the problem persist, please try disabling all third-party browser extensions and reload your browser. If that doesn't help, contact support@mega.nz
BrowserID: mozilla/5.0 (windows nt 10.0; wow64; rv:50.0) gecko/20100101 firefox/50.0
That is one of the reasons to not like all this "Download" Sites.
Please publish the sources here ...
datwill310
Posts: 354
Joined: May 29, 2015 20:37
Location: England
Contact:

Re: Object-Oriented GUI Library

Postby datwill310 » Nov 22, 2016 22:13

MrSwiss wrote:First problem encountered:
An error occurred while loading MEGA.
The file "lang/en_f658ca379bc8c971bd26b329a0da345afd593abdf3a4989306bd588c1977740d.json" could not be loaded.
Please try again later. We apologize for the inconvenience.
If the problem persist, please try disabling all third-party browser extensions and reload your browser. If that doesn't help, contact support@mega.nz
BrowserID: mozilla/5.0 (windows nt 10.0; wow64; rv:50.0) gecko/20100101 firefox/50.0
That is one of the reasons to not like all this "Download" Sites.
Please publish the sources here ...

Hmm... That's funny, it works for me if I download through my browser...

How am I supposed to publish the sources again?

Edit: Try this link: https://www.dropbox.com/s/3bgkozii8gj15 ... 0.zip?dl=0
dodicat
Posts: 5700
Joined: Jan 10, 2006 20:30
Location: Scotland

Re: Object-Oriented GUI Library

Postby dodicat » Nov 22, 2016 23:40

The browser download (Google Chrome) worked fine here from your first post.
However, with Win 10, your .chm file doesn't function properly -- the panels come up OK on the left, but the main body remains blank.
The .bi file seems OK, but maybe a little working example (especially with no .chm help) would get people started and interested straight away.
datwill310
Posts: 354
Joined: May 29, 2015 20:37
Location: England
Contact:

Re: Object-Oriented GUI Library

Postby datwill310 » Nov 22, 2016 23:50

dodicat wrote:The browser download (Google Chrome) worked fine here from your first post.
However, with Win 10, your .chm file doesn't function properly -- the panels come up OK on the left, but the main body remains blank.
The .bi file seems OK, but maybe a little working example (especially with no .chm help) would get people started and interested straight away.

1. That's good, I'll provide both links in case the original one doesn't work.
2. So, since I've compile the .chm file in Windows 10, that means it doesn't work on older versions of Windows? That's annoying. Maybe an HTML file would work?
3. OK, I'll create a few working examples - I intended to do them, but I just kinda wanted it to go out there (it had been sitting around for a good month or so).
Thanks for the feedback.
srvaldez
Posts: 1890
Joined: Sep 25, 2005 21:54

Re: Object-Oriented GUI Library

Postby srvaldez » Nov 22, 2016 23:53

dodicat, perhaps you to unblock the chm file.
MrSwiss
Posts: 3029
Joined: Jun 02, 2013 9:27
Location: Switzerland

Re: Object-Oriented GUI Library

Postby MrSwiss » Nov 23, 2016 0:19

Successs ... Dropbox download works (but the dl=0, had to be changed to dl=1).
(since I didn't want to save to another Dropbox-Account ... grrr!)
.chm on WIN10 pro 64, works without problems here. Build: 14393.

Thanks for the second Link. More info's tomorrow ...
datwill310
Posts: 354
Joined: May 29, 2015 20:37
Location: England
Contact:

Re: Object-Oriented GUI Library

Postby datwill310 » Nov 23, 2016 0:21

MrSwiss wrote:Successs ... Dropbox download works (but the dl=0, had to be changed to dl=1).
(since I didn't want to save to another Dropbox-Account ... grrr!)
.chm on WIN10 pro 64, works without problems here. Build: 14393.

Thanks for the second Link. More info's tomorrow ...

I'll change it to dl=1. Thanks for the info.
dodicat
Posts: 5700
Joined: Jan 10, 2006 20:30
Location: Scotland

Re: Object-Oriented GUI Library

Postby dodicat » Nov 23, 2016 0:46

Thanks srvaldez (and datwill310 of course), the unblocking did the trick for the .chm help.
sancho2
Posts: 547
Joined: May 17, 2015 6:41

Re: Object-Oriented GUI Library

Postby sancho2 » Nov 23, 2016 2:09

Hello:
Since you plan on carrying forward with this project, I am going to forward a recommendation made to me by St_W.
Put this on Github. This is an ideal system for offering source code and tracking changes etc.
datwill310
Posts: 354
Joined: May 29, 2015 20:37
Location: England
Contact:

Re: Object-Oriented GUI Library

Postby datwill310 » Nov 23, 2016 3:07

sancho2 wrote:Hello:
Since you plan on carrying forward with this project, I am going to forward a recommendation made to me by St_W.
Put this on Github. This is an ideal system for offering source code and tracking changes etc.

Funny you should mention that: I have a GitHub account, and I came to that first, but I decided to go with a Cloud Drive because it was easier to set it up. I'll consider your (or St_W's) suggestion. Thanks!
Lothar Schirm
Posts: 333
Joined: Sep 28, 2013 15:08
Location: Bavaria, Germany

Re: Object-Oriented GUI Library

Postby Lothar Schirm » Nov 23, 2016 15:23

datwill310,
looks very promising! Good luck!
MrSwiss
Posts: 3029
Joined: Jun 02, 2013 9:27
Location: Switzerland

Re: Object-Oriented GUI Library

Postby MrSwiss » Nov 23, 2016 15:42

@datwill310,

a huge "Thumbs up" for the Documentation, mainly the explanation of OO, in a easy to understand,
step by step way (even a complete beginner should by now, understand the very basics of OO).
(The best I've seen so far ...)

There are however, some issues with the code:
  • InitCommonControls
    See DOC. on MSDN: Under Comctl32.dll version 6.0 and later, InitCommonControls does nothing.
    Applications must explicitly register all common controls through InitCommonControlsEx.
  • Dozens of Warnings (all parameters passed 'ByVal' are NOT explicitly specified)
    (This makes debugging of any program = pure HELL)
  • Integer use (a Windows (C++) INT = Long (in FB), UINT = ULong) C++ Type(s) on MSDN.
    (By chance: correct on FBC WIN32 but, outright wrong on FBC WIN64)
Compiler switches used to test:
-exx -w pedantic

Minimalistic Test-Code:

Code: Select all

#Include Once "ogl.bi"

Using ogl

sleep
datwill310
Posts: 354
Joined: May 29, 2015 20:37
Location: England
Contact:

Re: Object-Oriented GUI Library

Postby datwill310 » Nov 23, 2016 18:21

MrSwiss wrote:@datwill310,

a huge "Thumbs up" for the Documentation, mainly the explanation of OO, in a easy to understand,
step by step way (even a complete beginner should by now, understand the very basics of OO).
(The best I've seen so far ...)

There are however, some issues with the code:
  • InitCommonControls
    See DOC. on MSDN: Under Comctl32.dll version 6.0 and later, InitCommonControls does nothing.
    Applications must explicitly register all common controls through InitCommonControlsEx.
  • Dozens of Warnings (all parameters passed 'ByVal' are NOT explicitly specified)
    (This makes debugging of any program = pure HELL)
  • Integer use (a Windows (C++) INT = Long (in FB), UINT = ULong) C++ Type(s) on MSDN.
    (By chance: correct on FBC WIN32 but, outright wrong on FBC WIN64)
Compiler switches used to test:
-exx -w pedantic


1) Ah: I didn't know that! Will do.
2) I don't usually use the pedantic mode, so I didn't spot these... *Scrolls through output on Notepad++* This is gonna take a while... I'll learn from this...
3) So I should explicitly use the long types instead of integer types? Oh man: should have spotted that one.

I'm glad that the OO tutorial is good! I was a little worried I might misguide some people, but hopefully this will not be the case!

Oh, and...
Lothar Schirm wrote:looks very promising! Good luck!

Thanks Lothar! Thank you everyone!

In light of the above, I'll release a new first version:
  • Several example code files
  • Hosted on GitHub (once I get the hang of it!) - Will take down the two other links once this is done as I don't want to faff around with uploading the same thing more than once
  • Updated doc file (obviously)
  • Cleaned up header file

For now, the current version (1.0) can be found on MEGA and DropBox until this new first version is out.
MrSwiss
Posts: 3029
Joined: Jun 02, 2013 9:27
Location: Switzerland

Re: Object-Oriented GUI Library

Postby MrSwiss » Nov 23, 2016 18:37

datwill310 wrote:3) So I should explicitly use the long types instead of integer types? Oh man: should have spotted that one.
Yes, because they stay 32bit always (independent of the used Compiler).

On Windows UI, only the Pointer(s) are extended to 64bit (on x64 Platform).
All the rest remains 32bit(s). (Different from Linux UI, which extends every-
thing on x64 Platform.)

Return to “Projects”

Who is online

Users browsing this forum: No registered users and 1 guest