Announcement

Collapse
No announcement yet.

PowerGen?

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • PowerGen?

    (The Search button in the upper right-hand corner doesn't respond, so bear with me)

    I haven't found a comparison of the different GUI builders for PB/DLL, so I'm checking them out myself. I intend to check out PB's commercial PowerGen, EZGUI 2.0, Jules Marchildon's Visual Forms Editor, Visual MetaFourGL, and JC Fuller's PWinADP.

    I started with PGen, but I'm confused about to work with it

    1. The venerable MS Dialog Editor creates two files (.DLG in ASCII, .RES in binary).

    With File | New | Single Dialog, PGen expects an .RC file, but inputing a .DLG works. File | New | Application Shell, however, chokes with "Missing dialog CLASS in resource file."

    What is the difference between those two options? According to the RC.HLP file, it appears that a "script file" is really the .DLG resource file with extra stuff What do I need to add for PGen to be happy and well?

    2. I'm using PGen 1.0 that came out over 2 years ago. Did PowerBasic give up developing this tool, and if yes, any recommendation on the alternatives above?

    Any info appreciated
    FF.

    ------------------

  • #2
    Frederic,

    I'm a EzGui 2.0 user & am really happy with it. It takes a lot
    of the drudgery out of windows programming.

    Russ Srole

    ------------------
    "There are two novels that can change a bookish fourteen-year old's life: The Lord of the Rings and Atlas Shrugged. One is a childish fantasy that often engenders a lifelong obsession with its unbelievable heroes, leading to an emotionally stunted, socially crippled adulthood, unable to deal with the real world. The other, of course, involves orcs." - John Rogers

    Comment


    • #3
      Thx for the input. Too bad EZGUI 2.0 is not available as trialware.

      BTW, I see that some of those GUI builders generate dialogs instead of full-fledged windows. Since both come callback functions for the main window and each widget, why prefer dialogs instead of windows?

      Thx
      FF.

      ------------------

      Comment


      • #4
        Frederic, be sure to check out the PowerGEN/Errata postings in the FAQ forum...

        Basically, you just need to edit a couple of lines in the .DLG file to create a .RC file that can be compiled with RC.EXE.


        ------------------
        Lance
        PowerBASIC Support
        mailto:[email protected][email protected]</A>
        Lance
        mailto:[email protected]

        Comment


        • #5
          Originally posted by Lance Edmonds
          Frederic, be sure to check out the PowerGEN/Errata postings in the FAQ forum...
          Thx for the pointer! That answered my question as to the procedure to go from a dialog in MS Dialog Editor to an .EXE

          1. Save the .DLG and .RES files generated by MS DE. Rename the .DLG file with an .RC extension
          2. Edit this .RC file (removing the DLGINCLUDE RCDATA FIXED IMPURE, adding ref to .H)
          3. Edit .H to include the equates
          4. Run RC.EXE to compile the .RC file into a .RES file (not compatible with original .RES above, so watch out!)
          5. Run PBRES.EXE to compile this new .RES into a .PBR binary
          6. In your application, add a #RESOURCE meta-tag to refer to the .PBR file
          6. Run PBDLL.EXE to compile both files into an .EXE

          Done!

          The MS DE is pretty old, though, so I'll try to find one that supports the common controls (Tree, etc.)

          Thank you for the prompt help
          FF.


          ------------------

          Comment


          • #6
            Visual Studio, aka MS VC5++ is cheap enough (2nd hand) and the resource editor is excellent.

            Also Borland's Resource Studio should cope with that.

            The PowerGEN help file describes the use of files from both of these editors, and BUILD32.BAT settings, etc.



            ------------------
            Lance
            PowerBASIC Support
            mailto:[email protected][email protected]</A>
            Lance
            mailto:[email protected]

            Comment


            • #7
              Visual Studio, aka MS VC5++ is cheap enough (2nd hand) and the resource editor is excellent. Also Borland's Resource Studio should cope with that.
              Thx for the pointers. I found copies of Symantec Resource Studio 1.0 and Borland Resource Workshop 4.5, and I probably have an old copy of VC++ lying around swhere.

              Thx
              FF.



              ------------------

              Comment


              • #8
                Er, I ment to say "Resource Workshop" not "Resource Studio".

                It's been a long time since I used the Symantec product, and I seem to remember that it was, um, not the best editor. Actually, I'm not even sure if it produces RC files that will work with PowerGEN. You'll have to try it for yourself, however, if you have the Borland or MS product, why bother?

                ------------------
                Lance
                PowerBASIC Support
                mailto:[email protected][email protected]</A>
                Lance
                mailto:[email protected]

                Comment


                • #9
                  Right :-)

                  BTW, besides making it impossible to use MDI child windows, what are the drawbacks, if any, of using dialogs instead of full-fledged windows? Is it just that, historically, the only GUI builders available were to build dialogs?

                  FF.


                  ------------------

                  Comment


                  • #10
                    Frederic;

                    Dialogs benefit from the extra processing of messages by the
                    DefDialogProc function, (rather than DefWindowProc). A number of
                    common messages are processed differently by this function. This
                    extra processing basically benefits a Dialog with standard controls
                    in areas such as the keyboard (ie. Tabbing).

                    The disadvantage to Dialogs is that you don't have access to the
                    Dialogs Window procedure, but only a Dialog procedure (they are
                    different). For example, a Dialog procedure will not get a WM_CREATE
                    message, but will get the WM_INITDIALOG message. A Window (non dialog)
                    will get the WM_CREATE message, but not the WM_INITDIALOG.

                    Such things as MDI are not well suited to use with Dialogs. It is
                    better to use your own Window classes when building an app that
                    uses MDI. MDI requires access to the Window procedure, since you
                    will use a replacement for the DefWindowProc function for both
                    the MDI child and Parent.

                    For complete control of your windows, using your own window class
                    is likely best. On the other hand Dialogs are easier and will handle
                    more than 90% of your needs.

                    For those who want the best of both, you can create your own custom
                    Dialog class. The technique is similiar to superclassing (not subclassing)
                    of controls. You superclass the Dialog class to create your own
                    custom dialog class and then use the CreateDialogIndirect
                    function to create the dialogs (rather than CreateWindowEx).

                    This allows you to have both a Window procedure and a Dialog procedure
                    for your Dialogs.




                    ------------------
                    Chris Boss
                    Computer Workshop
                    Developer of "EZGUI"
                    http://cwsof.com
                    http://twitter.com/EZGUIProGuy

                    Comment


                    • #11
                      Thx for the explanation.

                      FF.

                      ------------------

                      Comment

                      Working...
                      X