VisualFBEditor - IDE for FreeBasic

User projects written in or related to FreeBASIC.
Post Reply
Xusinboy Bekchanov
Posts: 789
Joined: Jul 26, 2018 18:28

Re: VisualFBEditor - IDE for FreeBasic

Post by Xusinboy Bekchanov »

I updated the program:
Version 1.2.7 (March 6, 2021)
- Added: Chart Example
- Improved: TabWindow
- Fixed: Templates in Linux
- Added: ToolTip for variables in Debug
- Fixed: Move Components in Designer
- Improved: EditControl
- Fixed: Close tabs on quit IDE
- Added: File Encoding and New line types
- Added: WebBrowser Example
- Fixed: Debug on SIGSEGV
- Fixed: Instellisense with arrays
- Added: Multi language (ML) function to some messages
- Added: End of debugged process
- Fixed: Debug Access violation message buttons
- Fixed: GTK2 dots cursors in Designer
- Fixed: Variable names in Debug
- Added: Debug StepOver and StepOut
- Fixed: Debug main file
- Fixed: Fast Run from breakpoint
- Fixed: Run to Cursor
- Fixed: Clear Recently Opened
- Added: Break, Restart in Debug (Windows)
- Fixed: Breakpoint on main file
- Fixed: Slow move to the next line when debugging
- Fixed: Set Breakpoint. Update breakpoint line.
- Fixed: Filling Default Compilers
- Added: Find Compiler Paths from Computer
- Added: Focus Rect in Designer on Linux
- Added: VSCode debugging json files
- Fixed: Hiding Toolbar buttons in Classic Windows theme
- Updated: About form
- Added: spanish.lng
- Fixed: Compilation result in Linux
- Fixed: MouseWheel in Toolbox (gtk2)
- Fixed: Fall of the program when cancel Save Compilation File
- Fixed: ToDo and ChangeLog
- Fixed: Default debugger option in Parameters
- Fixed: Menu icons without background
- Fixed: Define (F2) functionality
- Added: TabIndex property to Controls
- Fixed: Save Project
- Fixed: Save Untitled with extension
- Fixed: Save New Project (with extension .vfp)
Cretin Ho
Posts: 182
Joined: Feb 04, 2021 13:01

Re: VisualFBEditor - IDE for FreeBasic

Post by Cretin Ho »

Updated. All other FreeBASIC IDEs I use are IUP based, yours is the only one doesn't use IUP but worked fine. I really appreciate that. Thank you for your work.
Xusinboy Bekchanov
Posts: 789
Joined: Jul 26, 2018 18:28

Re: VisualFBEditor - IDE for FreeBasic

Post by Xusinboy Bekchanov »

Thanks for the good review.
Cretin Ho
Posts: 182
Joined: Feb 04, 2021 13:01

Re: VisualFBEditor - IDE for FreeBasic

Post by Cretin Ho »

Xusinboy Bekchanov wrote:Thanks for the good review.
Hi. Could you refactor your code (both MyFbFramework and VisualFBEditor) a bit? Please replace #ifdef with the equivalent #if defined so you could easily add more platforms to the supported list. Currently it's only __FB_LINUX__ and __FB_WIN32__

Doing so you could come up with something like this #if defined __FB_LINUX__ || defined __FB_SOLARIS__

I have my Solaris port of fbc working fine now and tried to compile your IDE on Solaris but it failed immediately because the macro should be __FB_SOLARIS__ and since it's not on the supported list and is not __FB_LINUX__ the platform was set to Windows. The compiler now complained for not having Windows includes and libraries available (of course it is, it's Solaris, not Windows!).

We could pretty much reuse the code for Linux for Solaris. But there seems to be a long way to have your IDE and your framework actually working on Solaris. I found you also used some headers from crt that is Linux specific, I will have to provide similar headers but for Solaris. But just changing from #ifdef to #if defined already helped me a lot with my effort. Thank you very much if you agreed to refactor your code.
Cretin Ho
Posts: 182
Joined: Feb 04, 2021 13:01

Re: VisualFBEditor - IDE for FreeBasic

Post by Cretin Ho »

Cretin Ho wrote:
Xusinboy Bekchanov wrote:Thanks for the good review.
Hi. Could you refactor your code (both MyFbFramework and VisualFBEditor) a bit? Please replace #ifdef with the equivalent #if defined so you could easily add more platforms to the supported list. Currently it's only __FB_LINUX__ and __FB_WIN32__

Doing so you could come up with something like this #if defined __FB_LINUX__ || defined __FB_SOLARIS__

I have my Solaris port of fbc working fine now and tried to compile your IDE on Solaris but it failed immediately because the macro should be __FB_SOLARIS__ and since it's not on the supported list and is not __FB_LINUX__ the platform was set to Windows. The compiler now complained for not having Windows includes and libraries available (of course it is, it's Solaris, not Windows!).

We could pretty much reuse the code for Linux for Solaris. But there seems to be a long way to have your IDE and your framework actually working on Solaris. I found you also used some headers from crt that is Linux specific, I will have to provide similar headers but for Solaris. But just changing from #ifdef to #if defined already helped me a lot with my effort. Thank you very much if you agreed to refactor your code.
Sorry man, this piece of code:

#if defined __FB_LINUX__ || defined __FB_SOLARIS__

I got from inspiration from gfx_unix.c. I didn't pay attention to the extension. Could this syntax be C specific? I don't know. I checked the FB's doc and found we also have #if defined but it needs brackets. So it could be like this?

#if defined (__FB_LINUX__) || defined (__FB_SOLARIS__)

I really don't know. But the idea is the same. Please make your code extensible so more platforms could be added in the future. Thanks.
Xusinboy Bekchanov
Posts: 789
Joined: Jul 26, 2018 18:28

Re: VisualFBEditor - IDE for FreeBasic

Post by Xusinboy Bekchanov »

I deleted all references to __FB_LINUX__:
https://github.com/XusinboyBekchanov/My ... a974403aa0

Now you can add #if defined(__FB_SOLARIS__) when needed.

And let me know what's fixed, too.
Cretin Ho
Posts: 182
Joined: Feb 04, 2021 13:01

Re: VisualFBEditor - IDE for FreeBasic

Post by Cretin Ho »

Xusinboy Bekchanov wrote:I deleted all references to __FB_LINUX__:
https://github.com/XusinboyBekchanov/My ... a974403aa0

Now you can add #if defined(__FB_SOLARIS__) when needed.

And let me know what's fixed, too.
I don't know if my suggestion to catch each platform manually (like how I see they do it on fbc's source code) or a mutual exclusive condition (if it's not Windows then it's Linux) like yours is better but thank you anyway.

The previous blockage of being wrongly set as Windows was gone and I could actually go to compiling the code now. But it failed to compile because the incompatibility between Solaris's headers and Linux's headers (types.bi and time.bi currently but don't know how many after that). Looks like I have to learn how to translate C headers to FreeBASIC to fix the issues of the crt headers myself. I will try to see how far I could go.

BTW, this means not only your IDE, but anything uses GTK and GLib also failed to compile on the Solaris target.
Xusinboy Bekchanov
Posts: 789
Joined: Jul 26, 2018 18:28

Re: VisualFBEditor - IDE for FreeBasic

Post by Xusinboy Bekchanov »

Cretin Ho wrote:
Xusinboy Bekchanov wrote:I deleted all references to __FB_LINUX__:
https://github.com/XusinboyBekchanov/My ... a974403aa0

Now you can add #if defined(__FB_SOLARIS__) when needed.

And let me know what's fixed, too.
I don't know if my suggestion to catch each platform manually (like how I see they do it on fbc's source code) or a mutual exclusive condition (if it's not Windows then it's Linux) like yours is better but thank you anyway.

The previous blockage of being wrongly set as Windows was gone and I could actually go to compiling the code now. But it failed to compile because the incompatibility between Solaris's headers and Linux's headers (types.bi and time.bi currently but don't know how many after that). Looks like I have to learn how to translate C headers to FreeBASIC to fix the issues of the crt headers myself. I will try to see how far I could go.

BTW, this means not only your IDE, but anything uses GTK and GLib also failed to compile on the Solaris target.
Removed crt dependency:
https://github.com/XusinboyBekchanov/My ... 26983c4386

Now I think you can compile on your system.
Cretin Ho
Posts: 182
Joined: Feb 04, 2021 13:01

Re: VisualFBEditor - IDE for FreeBasic

Post by Cretin Ho »

Finally I found a working version of Wine on Solaris. It's for Tribblix, not OpenIndiana, though. So I have to switch to Tribblix to use it. But this eliminate the needs to have the IDE running as native program. I will just use the Windows version on Wine instead. Anyway, thanks for your help. If you think the changes you made to help me is not needed anymore feel free to roll it back to the original state. Thank you again.
Cretin Ho
Posts: 182
Joined: Feb 04, 2021 13:01

Re: VisualFBEditor - IDE for FreeBasic

Post by Cretin Ho »

Xusinboy Bekchanov wrote:Removed crt dependency:
https://github.com/XusinboyBekchanov/My ... 26983c4386

Now I think you can compile on your system.
Sorry. I didn't see your comment. No. Still fails. The crt was used by GTK and GLib themselves, so as I said on my previous post any programs use these libraries, not only your IDE, will fail to compile on the Solaris target.
Xusinboy Bekchanov
Posts: 789
Joined: Jul 26, 2018 18:28

Re: VisualFBEditor - IDE for FreeBasic

Post by Xusinboy Bekchanov »

Cretin Ho wrote:If you think the changes you made to help me is not needed anymore feel free to roll it back to the original state. Thank you again.
No, I will not roll it back. I added this dependency because of not finding the standard functions.
Xusinboy Bekchanov
Posts: 789
Joined: Jul 26, 2018 18:28

Re: VisualFBEditor - IDE for FreeBasic

Post by Xusinboy Bekchanov »

Cretin Ho wrote:
Xusinboy Bekchanov wrote:Removed crt dependency:
https://github.com/XusinboyBekchanov/My ... 26983c4386

Now I think you can compile on your system.
Sorry. I didn't see your comment. No. Still fails. The crt was used by GTK and GLib themselves, so as I said on my previous post any programs use these libraries, not only your IDE, will fail to compile on the Solaris target.
I see. Then need to transfer the crt to Solaris.
Xusinboy Bekchanov
Posts: 789
Joined: Jul 26, 2018 18:28

Re: VisualFBEditor - IDE for FreeBasic

Post by Xusinboy Bekchanov »

Cretin Ho wrote:
Xusinboy Bekchanov wrote:Removed crt dependency:
https://github.com/XusinboyBekchanov/My ... 26983c4386

Now I think you can compile on your system.
Sorry. I didn't see your comment. No. Still fails. The crt was used by GTK and GLib themselves, so as I said on my previous post any programs use these libraries, not only your IDE, will fail to compile on the Solaris target.
Simple copying doesn't work?
Cretin Ho
Posts: 182
Joined: Feb 04, 2021 13:01

Re: VisualFBEditor - IDE for FreeBasic

Post by Cretin Ho »

Xusinboy Bekchanov wrote:
Cretin Ho wrote:
Xusinboy Bekchanov wrote:Removed crt dependency:
https://github.com/XusinboyBekchanov/My ... 26983c4386

Now I think you can compile on your system.
Sorry. I didn't see your comment. No. Still fails. The crt was used by GTK and GLib themselves, so as I said on my previous post any programs use these libraries, not only your IDE, will fail to compile on the Solaris target.
Simple copying doesn't work?
The Solaris headers seemed to different from the Linux headers drastically. The functions could be the same in names, but different in the number of parameters and even parameters' types. Simple copying seemed doesn't work.

The Solaris headers also seemed to be more complicated than their Linux counterparts. And I have no experience of translating C headers and using tools like dkl's fbfrog. So I decided to give up. People on OpenIndiana if wanted to program in FreeBASIC could use Geany or CudaText. The former is more stable than the later, though.

I used to tell you I will give up on porting VisualFBEditor and MyFbFramework to Solaris to use their Windows versions on Wine because I found a working version of Wine for Tribblix. I deleted all of these confusing replies. It seemed to be not that simple. The IDE does run, but the performance is unacceptable. That version of Wine for Tribblix is very slow and missing in features compared to the Wine on Linux. So I give up running your software on Wine, too.

Anyway, these are the screenshots of your IDE running on Wine on Tribblix:

Image

(This version of Wine is 32 bit only even though the OS itself is 64 bit, can't run VisualFBEditor64.exe)

Image

You could see how weirded the uname's output is. This platform is very weirded!

BTW, you have done the best to help me and I really thank you about that. Please don't bother with this porting stuffs anymore. You should back working to improve the stability and functionality of your software on the platforms you use, Windows and Linux. Bye.
Xusinboy Bekchanov
Posts: 789
Joined: Jul 26, 2018 18:28

Re: VisualFBEditor - IDE for FreeBasic

Post by Xusinboy Bekchanov »

Yes, the virtual ones don't work well.
Post Reply