3. Tell me More about...


3.1 The Integrated Debugger

3.1.1 How useful is the Interactive Debugger?

Dennis J. Pimple (dennisp@informix.com):

My stock answer is that RDS cut my development time in half over what it took me in c compiled (although I get a lot less magazine reading done waiting for compiles), and the Debugger cut it in half again. I find it useful to the point of frustration when it's *not* available at a client site (back to good old DISPLAY "TEST: ..." statements).

I learned to use the Debugger enough for it to me useful to me in about 90 minutes one Saturday afternoon, and have learned more by using it ever since.


3.2 4GL for Windows

alan@den.mmc.com (R. Alan Popiel):

Note that these questions apply to Informix/GX too:

3.2.1 Does 4GX run p-code or does it compile to an object?

4GX is a p-code runner. No 4GX 'compiler' exists. It uses the p-code objects produced by the standard RDS compiler'; thus 4GX only runs in the RDS environment. Compile your source code normally using fglpc, or the I4GL integrated environment. Then use fglgx instead of fglgo to run the resulting program.4gi file.

3.2.2 What is performance like, compared to "normal" 4GL?

With one or two exceptions, the performance degradation is negligible. Early versions (I have not seen later versions) of 4GX suffered badly if you SCROLLed an ARRAY on the screen.

The other problem I saw was multiple repaints of button bars, etc., when using arrows to move among menu/button options. Probably just defensive programming due to early version of 4GX. (They wanted to be SURE that the button bar got changed.) I would hope the newest, refined product would unhighlight the old button and highlight the new button in one repaint.

3.2.3 What's the main benefit of using 4GL/GX

Main benefit is a quick-fix conversion of a text-based application to a GUI-look application. If your app conforms to what Informix expects of a "normal" app, then NO (really!) recoding is necessary.

Borders on pop-up windows have a very nice 3-D look to them. The ring menus become really nifty button bars, which are mouseable, although the old keyboard actions (arrows, hot-keys, etc.) still work.

3.2.4 What problems might I encounter?

Other than the mouseable buttons, this is not, NOT, NOT a full conversion to GUI action. For example, screen arrays do NOT have a scroller bar on the side. The conversion to GUI is mostly look, not much feel.

But the main problem is an aspect ratio distortion. Screens become a lot "taller" so that the GUI widgets, such as apparent 3-D bevelled edges on buttons, can be placed between lines of text. We had to severely reduce the number of lines in some of our screens, because of the aspect ratio problem. In one oversized screen, we had a 30 line array in the text version of the 4GL program. We had to change it to 10 lines in 4GX.

Also, if you use a lot of non-typical, but fully supported, features in 4GL, then you can get into trouble. We had used reverse video to highlight which row of a screen array was being worked on. This looked HORRIBLE in 4GX.

If you use any graphic characters (of the \g-------\g style) in your forms you will discover that they end up looking HORRIBLE in 4GX too.


3.3 I-Star/I-Net

3.3.1 What are they?

See 1.4.3

3.3.2 When do I need one and when the other?

See 1.4.3