FireFly's first local CONSOLE Application here.

Started by Roger Rines, August 17, 2004, 04:26:33 PM

Previous topic - Next topic

Roger Rines

When I tried FireFly's ability to launch a CONSOLE application, I notice a few items that needed attention before I could things to fly.

The First Step was to establish the paths to the compiler.  This is a simple process, but the Dialog that makes this easy, doesn't look for the PBCC.EXE program, and doesn't show it when it is in the right location.  

Not a major issue, if the user is experienced enough to just type it in anyway, or use the "*.EXE" spec to get the files in the "../PBCC/Bin/" directory to appear, but it is a distraction that slowed things down.  

To get around this, entering the "*.EXE" option in the common control in all the other path/file locations, except for the WinHelp location, made the process easier and faster.  

On the same Dialog where the Compiler locations are entered is an option to select which compiler to use when Compiling a program.  It would seem the people in the "compiling section" aren't talking to the people in the "user-selection section" when a CONSOLE application is selected from the entry screen.

Of course this isn't obvious until the ERROR 477 Error appears, then things begin to make sense when the default compiler selection is changed.  However, that needs to be a "To-Do" item when the user leaves and comes back to work on a GUI app.  Still, the Error Message is a good way of remembering to switch the compiler again.

In one of my favorite programs, JellyFish PRO, they use a compiler directive at the top of the code file to handle this compiler switching stuff.  It would be great if the FireFly people took a page from the JFP family's book and followed suit.  At a minimum, FF-People might consider giving us a Right-Mouse-Click (another Fish feature) to select the compiler on, well, the Fly.

Keyword highlighting:  Switching Compilers doesn't switch Keyword highlighting.  This was a restriction the Fish had as well.  However, when I think about how this could be different, it does seem to be an unnecessary complexity that might not be needed if the way each Compiler's keyword file was selected were changed so that the Keyword file would change when the compiler selection changed.  

I know the Keyword selection looks complecated, but in place of selecting two options simultaneously, we could select the Compiler Keyword file as one option and then select how those keyword's Case were handled as a second option.  From my location in the cheap seats, I think the process could easily follow the Compiler selection and leave the Case handling selection as the default after user made their Case handling selection.

In any event, after this inital learning experience all went well and the Fly got the Console application off the ground without any further buzzing around. :D

TechSupport

Quote from: Roger RinesWhen I tried FireFly's ability to launch a CONSOLE application, I notice a few items that needed attention before I could things to fly.
FireFly was never designed to, or even tries to, accommodate the PBCC compiler. The ability to create console applications in FireFly is done by using PBWIN, not PBCC. That is why the FireFly Functions for console exist. If you are creating pure PBCC applications using the PBCC compiler, then you are much better off using a regular programmer's editor like JellyFish.

Having said that, I am happy to hear that you were able to hack a solution. :)

QuoteIt would be great if the FireFly people took a page from the JFP family's book and followed suit.  At a minimum, FF-People might consider giving us a Right-Mouse-Click (another Fish feature) to select the compiler on, well, the Fly.
We are one and the same.... me.  :)

In FireFly, you can choose between two compilers. However, this does not necessarily mean between PBWIN and PBCC. The functionality is there to allow programmers to switch between PBWIN and PBDLL or earlier versions of the same compiler (e.g. PBWIN 7.04 and PBWIN 7.0).

Roger Rines

Hello Paul,

Good to hear from you again.

I didn't know the PBWIN compiler would create a CONSOLE application.  I'll have to see how that works.

When I saw the CONSOLE option on the startup screen, my blindness to PBWIN's Console abilities had me thinking PBCC, so that is the tune I sang while I worked at getting things functional for a CONSOLE App.

What isn't clear to me is how CONSOLE items like WaitKey$ and screen coloring and positioning will be handled by PBWIN.  I can see StdOUT & StdIN covering for some In/Out functionality, but the other stuff is a puzzle.

As for the other recommendations, I had hoped your FireFly half would talk to your JellyFish half and give the KeyWord stuff some considerations. :lol:

All else is well here and FireFly continues to "Learn-Me" new tricks.   :D

Roger Garstang

They aren't handled by PBWIN, they are handled by API calls and the Console Wrappers Paul created which use API calls as well most likely.  PB Console has them built in and most likely uses API or Bob's native tongue...assembly.

Roger Rines

Thanks Roger,

I'll go poking around to see what I can find for Console focussed wrappers.