Native Database Capabilities / Data aware controls (something along the lines of SQLTools based or SQLightning based)
"Dot" based form object access
FireProp - Native property control
Module Code formatter (rules based so can be customized to user preference)
Generation of PowerBASIC UNICODE sources
(no pressure) A version of FireFly for PureBasic (I would've said FreeBasic, but PureBasic has cross-platform and 64-bit).
I know that FreeBasic includes the "source"... so that might be the better choice for you...
I don't care for the "exotic" syntax of PureBasic either... but... : )
And, a VB6 form import would probably excite some people...
OK, since you started George. ::)
- Lua scripting support
- Control profiles
Best regards,
Marc
Quote from: George Bleck on October 01, 2013, 08:58:22 PM
Module Code formatter (rules based so can be customized to user preference)
I'd like to see this as well.
Martin
Aah,
and this one, should't be so difficult: a treeview in the Project notes so one organize the project notes.
Best regards,
Marc
USB portability. Including carrying Projects, includes, application and configuration in a USB drive.
Feaature to automatically backup everything to local PC (Encrypted).
Unicode
Debugger
Better Intellisense
Integration of a source code revision system (eg. Fossil http://www.fossil-scm.org/index.html/doc/tip/www/index.wiki )
More comprehensive documentation
Project templates
... and about a hundred more things :)
Big second on the USB portability.
Can FireFly be made as a Portable App also ???
Peter House
I use FireFly on an external USB connected hard drive, all day, every day. The only thing you need to do when you plug it into a computer you have never used before is to enter your FireFly registration information.
Install FireFly to your C: drive (eg. C:\FireFly3) using the "Local" option (not the "My Documents" option). Then, simply copy that folder to your USB drive. Everything should now work okay except for the need to enter your registration information the first time.
I do that as well Paul, with the exe that you kindly sent me. Except that USB drive not always has the same drive letter, and sometimes configuration is not set and i have to reconfigure everything from scratch, compilers etc.
Very simple things.
The code reordering is a problem for my private Libraries, so i have to put them in an folder "Private" and include them "away from FF".
Therefore i do not have them organized in the Project.
Even if there are Compiler-Errors, FF does not "Jump to the Error" currently.
If its in the "Private files". This is a systemic problem.
Such problems need to be addressed prior to new features.
There should be a directive like
REM FF: NO REORDER
...
REM FF: END NO REORDER
to geht the code reordering for a file under control.
Or better, a Sub-Tree in the Project Manager for "Private files"?
A way to have private includes in a project, fully integrated.
Also i need to be able to say "if my private includes should be included before or after the FF Includes".
But they will need to be after the inclusion of WinAPI32.
The code-reordering needs to be reordered, primarily.
Its not yet bullet-proof.
I would buy FF4 anyway, because FF3 was a good choice and so will be FF 4.
Its the same like with Phoenix VD. The previouse version was never ready, and the last version was also unfinished when it reached the market.
You know the programmer, you know whats coming out. Any new version of Phoenix just shows me how amazingly good the author is in programming and solving algorhytmical puzzles. But of course one person can not make such a project all alone and the result is just unfinished.
Its more like an application (to get a job as programmer in a company) then like a marketable program, at least that is my impression, especially for this last version. But again this was also the case for all previous versions of Phoenix as i see it. Chris Boss for example with EZ GUi, makes rather "down to earth" algorhytms, and designs. But they are always well tested, and work as documented. Let me say
"I do not want a artistic unfinished new car, i need one that >REALLY drives from A to B, and all switches and buttons should work, even if it rains".
Coming from there i would say "Do NOT try to include too many features - instead make it a SOLID WORKING program"
thats what i recommend anybody. This is what i want to have.
"Give it an extensive help so people will really understand how it works".
Writing help files is not a nice work for people who like programming. But its necessary, for those using the program.
Rather then making something compeltely NEW, take the "old" and evolute it.
Reason: The old is somehow near to bug free, you know all the places in your code.
Add features to the old, Rewrite parts. Do not start from scratch. Try to provide SOLID, bulletproof Software.
Quote from: Elias Montoya on October 04, 2013, 01:36:45 AM
I do that as well Paul, with the exe that you kindly sent me. Except that USB drive not always has the same drive letter, and sometimes configuration is not set and i have to reconfigure everything from scratch, compilers etc.
Hi Elias,
3 years ago I posted a FF project in order to update automatically PB and Firefly settings based on the current drive letters, see this post:
http://www.planetsquires.com/protect/forum/index.php?topic=2640.msg20028#msg20028
FireFly is a portable application, I use it only on a USB key on various PCs.
It works perfectly.
Regards,
Jean-Pierre
Quote from: Theo Gottwald on October 04, 2013, 03:32:15 AM
Very simple things.
Some things are not as simple as they appear. :) The "jump to error" problems are somewhat complex because FireFly needs to coordinate where the error occurs in the generated source code, to where that code is located in the FireFly editor. There is not a one-to-one correlation. The error could be locate at Line 200 in the code generation source file, but located in a different file and much different line number within the editor. FireFly does a much better job than it used to with resolving these discrepencies but I agree that more can be done to bullet-proof it.
Quote
The code reordering is a problem for my private Libraries, so i have to put them in an folder "Private" and include them "away from FF".
I entered this in my bug tracker as a new feature request back on 2012-05-24. Hey, you've only waiting 1.5 years for it!!!! ;) I'll see what I can do to make this happen.
Quote from: Jean-Pierre Leroy on October 02, 2013, 06:56:06 AM
Generation of PowerBASIC UNICODE sources
I thought this was worth a chuckle
http://www.theregister.co.uk/2013/10/04/verity_stob_unicode/ (http://www.theregister.co.uk/2013/10/04/verity_stob_unicode/)
Quote from: Jean-Pierre Leroy on October 04, 2013, 05:17:13 AM
3 years ago I posted a FF project in order to update automatically PB and Firefly settings based on the current drive letters, see this post:
http://www.planetsquires.com/protect/forum/index.php?topic=2640.msg20028#msg20028
Thanks Jean, i will take a look.
Not to put your work down, of course, but i think it would be awesome to have native support for this. :)
Theo,
I have been working on your new feature suggestion. Attached you will see a screenshot of the Properties that will now be available for Modules. Two properties, "ParseModule" and "OutputIndex" will dictate whether FireFly will parse your code modules. If no parsing, then you can specify the order that you want the module outputted ("OutputIndex") in the code generation. These modules will be output after the Windows includes but before the FireFly includes. Once the new feature is fully implemented then it will appear in the next beta upload.
Theo,
Please try the attached new FireFly exe. It allows you to specify what code modules to exclude from any FireFly processing (using the "ParseModule" property). It also allows you specify in what order to output them during code generation (using the "OutputPosition" property). The includes are output after the Windows includes and before the FireFly includes.
Please see screenshot. That example shows 3 modules that were designated by the user to be excluded from any FireFly pre-processing. You can drag and drop the ordering or simply use the up/down arrows.
Please let me know if this new feature does what you are looking for.
Thanks!
Hallo Paul,
from what i have rad, this is exactly what was missing.
I'll however need some time to really inmplement it in my "productive code".
If there will be any issues i will of course report to you.
Until then rake this topic as successfully closed.
Just testing the new feature and again there is one small feature missing in FF that is available in any other editor: "Open Explorer" for the Source files.
The best place would be in the Menu (attached picture).
I have an include file that only contains important constants.
Its the second file, that i add using "Add Module".
Then it is OPEN AND selected in the Workspace explorer.
Now i choose Properties in the WSE.
Now something strange happens. The mask "Parse Module/Output position" is visible fo a tenth of a second and then dissappears and the mask for the MainDialog appears. Even though the MainDialog is not selected.
In this case i can not make the necessary settings. The mask should be persistant, so i can use it. A 1/10 of a second is not enough time.
If you want to see, you can of course call me and we can also make a Teamviewer remote seesion at any time ...
Thanks Theo - I am going to change the way this works. Rather than have the options on the Properties tab of the Workspace, I am going to move it to the "Project", "Project Properties" as a new tab. From there you will be able to select and de-select from a list of modules and also move them into the correct order. Similar to how the TabIndex window looks like on the Workspace.
I will post the new approach later this evening once I have finished coding it.
Hi Theo, I have changed the method for excluding modules from processing. Please see screenshot and new FireFly3 attached.
Thanks,
Paul
(Paul, "new FireFly attached"... is this an upgrade beta??)
Paul,
this is a way to go. And it seems to work.
Now from usability. Actually ... when adding a new Module, i have
- to close that window,
- open the "add module window"
- add the new Module
- close the "add module window"
- reopen this window
- then the newly added module is very down at the wrong place
- i have ro move it all up clicking 20 times
and this for 10 or more currently "private" Modules.
Therefore ... missing 4 Buttons here, to make it a "Modula Manager Window":
1. Add Module (leads to the Add Module Mask)
2. Delete Module
3. Move Module all up (Makes it Top-Element in the LV)
4. Move all down
Then you could place it as "Module Manager" on the current "Add Module" Button.
And therefore add a new Level of usability. The "one place" where you can manage all about modules.
*******************************************************************
Something else comes to my mind looking at the code:
For next release think of "Reusing this Module Manager WIndow
" as a "SLL-Manager"
that works in the same way. (Add, move up, down, remove ...)
SLL can be automatically copied into a SLL-Folder when added to a project.
And can be seen in the Project explorer.
Add a Button "SLL-Manager" right of the "Modules Manager" (currently Add Modules" Button).
Thanks Theo, you can drag and drop the modules in that list. Much like you can drag and drop the listbox lines in the TabOrder for in the Workspace. I have updated the label on the form to remind users that the list can be drag and dropped.
After thinking about this for awhile, the best approach would have been for me to add an additional node on the Project Explorer called something like "Modules (no parsing)". The user would add modules to the project and then simply drag and drop the module names from the "Modules" branch of the Explorer treeview to the "Modules (no parsing)" branch. The ordering of the modules in that branch would dictate the positioning of the module filename in the code generation. If I get time today then maybe I will look at such an approach. It does seem like the easiest and most logical way to go with this.
This is looking extremely good!!
Paul, i think the best concept would be if "all things to do with Modules" is at one place.
Whichever place suits you fine.
Sideline: Warch out that things can be done with only a few Clicks.
Drag and Drop is good as long as the Control does not need to Scroll.
Once Scrolling is involved a "go all up" Button is faster.
As said, it actually already works rechnically.
But I'll wait with more Module changes until you come out with the final sollution.
Quote from: TechSupport on October 03, 2013, 07:13:43 PM
Unicode
Debugger
Better Intellisense
Integration of a source code revision system (eg. Fossil http://www.fossil-scm.org/index.html/doc/tip/www/index.wiki )
More comprehensive documentation
Project templates
... and about a hundred more things :)
And ready to go by Thursday if you please :)
Paul i just had an idea to make easier for firefly finding the offending line when the compiler complains.
Why not creating only one big code file instead of creating multiple files? Only for the firefly-generated code, the rest would be
OK to make then include files. Then, just find the offending line in the big file, and parse back to the begining of the form code,
you can add there a name for the form being parsed and the rest is self explanatory.
Thanks Elias, such an approach could certainly help. Thanks. There are other things at play as well with FireFly such as the automatic code re-ordering, collection of declares, globals, types, unions, etc (CODEGEN_*_DECLARES.inc) that need to be referenced from the PB compiler error log file --> CODEGEN source code --> FireFly editor.
I have built a new parsing engine that I will implement into FireFly soon. That new code will certainly help with the error positioning.
Quote from: Jim Dunn on October 02, 2013, 10:07:51 AM
(no pressure) A version of FireFly for PureBasic (I would've said FreeBasic, but PureBasic has cross-platform and 64-bit).
I know that FreeBasic includes the "source"... so that might be the better choice for you...
I don't care for the "exotic" syntax of PureBasic either... but... : )
And, a VB6 form import would probably excite some people...
Yes I could use a PureBasic version also.
Simon
What about IWBasic Professional great compiler and lower price.
http://www.ionicwind.com
http://www.ionicwind.com/iwbasic.html
http://www.ionicwind.com/forums/index.php
Maybe FireFly SDK Visual Designer for IWBasic.
Idea?
Kind regards
Stephane
Quote from: Stephane Fonteyne on February 15, 2014, 05:25:52 PM
Maybe FireFly SDK Visual Designer for IWBasic.
I prefer a Basic version too.
Learning C++ will take a lot of time for me and I happen to be pretty lazy.
Klaas.
C++ has not been too hard so far. It has a lot of high level features that it is like a BASIC on steroids. C++ certainly isn't C.
Quote from: Jim Dunn on October 02, 2013, 10:07:51 AM
(no pressure) A version of FireFly for PureBasic (I would've said FreeBasic, but PureBasic has cross-platform and 64-bit).
I know that FreeBasic includes the "source"... so that might be the better choice for you...
I don't care for the "exotic" syntax of PureBasic either... but... : )
And, a VB6 form import would probably excite some people...
I would pay for a Purebasic version. I use Purebasic quite a lot because of its cross platform, quick and efficient but the default designer is lacking in my opinion.
Simon