The Querix 4GL provides a number of compatibility modes to bridge some of the differences in behaviour between Querix and Informix. There are, however, still some minor differences in the behaviour between the two products.
Dynamic 4GL requires that a 4GL module use the ‘USE CHANNEL’ directive before any of the channel functions can be used within that 4GL module. ‘Hydra4GL’ has no such requirement, and the compiler is likely to generate an error on reaching the ‘USE CHANNEL’ directive. It is recommended that this directive be commented from any code.
While using this function will not yield any errors in ‘Hydra4GL’, it is not actually required to initiate any of the Querix GUI interfaces.
Dynamic 4GL tends to expect all referenced image files and media to be located under the $FGLDIR directory structure. This typically means that all such files have to be available to the client process on the client PC. The ‘Hydra4GL’ thin clients will typically attempt to download such files from the application server, and cache a local copy for future use.
In dynamic 4GL, the bmp_field widget will stretch the field button to accomodate the image file. The Querix thin clients will resize the image file to fit within the allocated field space.
A subtle difference exists in the default behaviour of Querix to Informix 4GL. Under Informix 4GL, the FIRST PAGE HEADER formatting section of a report is executed upon the first OUTPUT to the report.
Under Querix ‘Hydra4GL’, the FIRST PAGE HEADER is executed upon the first PRINT statement in the ON EVERY ROW section.
This can cause some behavioural differences if your reports relies upon the FIRST PAGE HEADER to initialize variables or cursors.
It is possible to emulate the Informix behaviour by passing the flag ‘-IR’ to fglc during compilation.