• Welcome to Powerbasic Museum 2020-B.
 

News:

Forum in repository mode. No new members allowed.

Main Menu

Konstruct Code Editor - Freeware

Started by Daren Oliver, January 17, 2011, 11:26:20 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

José Roca

No difference. Maybe it's not because it's Windows 7, but for another reason. As soon as I try to load a project it GPFs. No debug information is displayed.

Daren Oliver

Ok, thanks for testing anyway.

I've removed the main zip from my initial post until I manage to figure it out. I've tried it on a W2K, 3 XP machines and the Virtual Win7 but they all seem to work fine.  ??? I hate this kind of problem.

Petr Schreiber

Hi Daren,

if you'll need some testing on Windows 7 64bit, I am signing in!


Petr
AMD Sempron 3400+ | 1GB RAM @ 533MHz | GeForce 6200 / GeForce 9500GT | 32bit Windows XP SP3

psch.thinbasic.com

Daren Oliver

Hi Petr,

Thanks, that would be very helpful. I still cant get it to crash and I've tried on 2 more Win7 machines and another WinXP.

José,

I was wondering if you tried to maintain your Keyword files. Specifically, do you have :-
<Your Konstruct Folder>\Keywords\PowerBASIC 10.txt

I did find a problem if the new Keyword folder structure was not as expected.

Thanks.

(I've added another debug version to the first post in this thread)


José Roca

This new version doesn't GPF :)

What I did was the same that have done now. I installed the editor in a new folder and created an additional folder called Projects. Then  I run the editor and created a new project. The editor created the project folders but crashed. Then I tried to load the created project and it crashed again.

Daren Oliver

Great ;D

I'll remove the Debug version shortly and replace it with a release version... and pray.
The only changes I've made is with checking for PB10 files\keywords used in folding and lexing.
If this fixes it then todays lesson for me is don't try to support something that you don't have  :'(

Thanks for taking the time José.

Daren Oliver

v1.2.1 Update added. Hopefully all fixed now.

Quote-------------------------------------------------------------------------------
Version 1.2.1 - Feb 28 2011
-------------------------------------------------------------------------------
#Files modified from previous update:
Konstruct.exe
Lexer.dll

---------

#Bug Fix.
GPF. A pointer being passed to Scintilla that should have referenced a PB10 keywords
list was not being checked to see if it was empty. Also a messagebox has now been
added to inform the user when keyword files are missing rather than just silently
disabling folding\lexing.

---------

Petr Schreiber

Thanks for the update,

so far it works just great!


Petr
AMD Sempron 3400+ | 1GB RAM @ 533MHz | GeForce 6200 / GeForce 9500GT | 32bit Windows XP SP3

psch.thinbasic.com

Daren Oliver


Thanks for testing Petr.

Seems I broke the 'Class Method Create' and 'Class Method Destoy' folding in my haste to fix the last bug.

Another update soon. Sorry. *sigh*

Daren Oliver

v1.2.1.1 Update added

Quote-------------------------------------------------------------------------------
Version 1.2.1.1 - Feb 28 2011
-------------------------------------------------------------------------------
#Files modified from previous update:
Lexer.dll

---------

#Bug Fix.
"Class Method Create" and "Class Method Destroy" folding were broken
during the last bug fix.

---------


Petr Schreiber

Hi Daren,

thanks for the update!

Few suggestions/ideas:

  • When I right click project in the tree on the right (Explorer), it would be nice to show context menu with the same contents as Project menu in the main menu, except Remove file
  • When I right click file in project in the tree on the right (Explorer), it would be nice to add to context menu item "Remove file"
  • When I right click tab header, it would be nice to show context menu with items: "Close", "Close All", "Close all but this", |, "Save", "Save As", |, "Copy file name to clipboard" (including path)
Problems found:

  • I have main code, which includes A.inc.
  • A.inc includes B.inc.
  • In A.inc I have defined equate, but I got errors in B.inc that equate is not defined
In the end I realised I should have excluded all INC files from build. There was a 45 of them, so it took a while to do it manually.
So maybe when importing existing INC files, it could "Exclude from build" them automatically.


  • I also found out I cannot change the Initialize.bas file, I needed it to change name of produced DLL, but it was not possible, as well as removing inclusion of Win32API.inc
Later I realised I can change this in options, maybe some comment in the Initialize.bas could directly mention "you can change this in Project properties"


  • During compilation, it reports it cannot find include file I place to same folder as Main.BAS, even if I add it to the project


Petr
AMD Sempron 3400+ | 1GB RAM @ 533MHz | GeForce 6200 / GeForce 9500GT | 32bit Windows XP SP3

psch.thinbasic.com

Daren Oliver

Hi Petr,

QuoteWhen I right click project in the tree on the right (Explorer), it would be nice to show context menu with the same contents as Project menu in the main menu, except Remove file
When I right click file in project in the tree on the right (Explorer), it would be nice to add to context menu item "Remove file"
When I right click tab header, it would be nice to show context menu with items: "Close", "Close All", "Close all but this", |, "Save", "Save As", |, "Copy file name to clipboard" (including path)

All the Menu suggestions sound good and are fairly easy to implement.
The 'Remove File' menu item has been on my ToDo list forever it seems. I think I keep overlooking it because you can just select the file in the treeview and hit the Delete key although it should be added for completeness.

QuoteI have main code, which includes A.inc.
A.inc includes B.inc.
In A.inc I have defined equate, but I got errors in B.inc that equate is not defined

I also had the same issue when converting existing projects. Obviously this doesn't happen when you write a project from scratch but I agree it would be useful to provide a way around this. I'll have a think!

QuoteI also found out I cannot change the Initialize.bas file, I needed it to change name of produced DLL, but it was not possible, as well as removing inclusion of Win32API.inc

I will write a basic help file at some point as the Read-Only Initialization file has stumped several people. Initially, I wasn't going to let the user even see this file considering it's 'Auto Generated' using their current settings\selections but after trying it for a while I decided I didn't like hidden files in my project and it was better to be able to see what was happening, even if I couldn't edit it directly.

QuoteDuring compilation, it reports it cannot find include file I place to same folder as Main.BAS, even if I add it to the project

I'm confused by this one. Is the file thats not found even listed in the Initialization file?

Thanks for the feedback. I welcome it, the good and the bad!

Eros Olmi

Attention, attention:
Petr is number one bug hunting and new feature suggester

:P  ;D
thinBasic Script Interpreter - www.thinbasic.com | www.thinbasic.com/community
Win7Pro 64bit - 8GB Ram - Intel i7 M620 2.67GHz - NVIDIA Quadro FX1800M 1GB

Petr Schreiber

#43
Hehe,

thanks Eros ;D

Quote
I'm confused by this one. Is the file thats not found even listed in the Initialization file?
This was the reason. It took me while to find out that to make file listed in Initialization file, I must add it to project but do not exclude it from build.

But this makes it little bit hard to port old code, with complex #include hierarchy, because sometimes, for organization reasons, I do not want to have all #includes listed on one place, but instead I spread them in few include files to follow some logical structure.

One more thing - #include files in Initialize.BAS have full paths to include files listed. This way it might become hard to share the project with someone, who prefers to put whole project to other directory than I have in my drive.

Ok, that was some "complaining" again from my side :), but I must say I am really impressed by the IDE so far and for new projects I have no problems with it (except maybe the strict #include statement policy).


Petr
AMD Sempron 3400+ | 1GB RAM @ 533MHz | GeForce 6200 / GeForce 9500GT | 32bit Windows XP SP3

psch.thinbasic.com

Daren Oliver

Hi Petr,

QuoteThis was the reason. It took me while to find out that to make file listed in Initialization file, I must add it to project but do not exclude it from build.

But this makes it little bit hard to port old code, with complex #include hierarchy, because sometimes, for organization reasons, I do not want to have all #includes listed on one place, but instead I spread then per-partes in few include files to follow some logical structure.

The trick is to add all the files to the project and then exclude any nested include files from the build and let the compiler pick them up instead. I didn't anticipate the fact that one day I would release this into the public domain which means I haven't taken other peoples coding styles into consideration unfortunately.

QuoteOne more thing - #include files in Initialize.BAS have full paths to include files listed. This way it might become hard to share the project with someone, who prefers to put whole project to other directory than I have in my drive.

Any file paths outside of the project folder are absolute. Any file paths inside the project folder are relative. You can test this by simply renaming the project folder (not while the project is open obviously). It will still compile without error and the Initialization file will automatically update to reflect this change. The relative file paths shown in the Initialization file are expanded for no reason other than I like to see exactly where they live. If you make sure all your files are in the project folder or sub folders (Code in the Code folder etc  ::) ), then it should be fully portable.

QuoteI have no problems with it (except the strict #include statement policy)

I do take onboard what you're saying but by simply excluding a file from the Initialization file means you get to include it where ever you like. I guess it just takes a bit of getting used to.

Daren