Eloquence A.05.00 Release Notes

Eloquence A.05.00 Release Notes



Eloquence Dialog Drivers


The graphical user interface is implemented through (platform dependent) dialog drivers. If you activate a dialog driver, all Eloquence DLG statements are no longer executed by Eloquence, but passed to the specified driver.
The driver will map the Eloquence DLG statements to ISA Dialog Manager intrinsic calls which will handle your display.
This documents describes the extensions to Eloquence, if a dialog driver has been activated.
Eloquence A.05.00 supports the following new attributes:
.driver
SET/GET dialog driver
.async
SET/GET driver communication mode



Starting a driver


To start a driver from within Eloquence, you have to give the the following command:
   DLG SET ".driver","driver_name"

Setting (or re-setting) driver will result in an implied DLG STOP. DLG STOP statement will reset the DLG driver.
For example:
   DLG SET ".driver","motif"
   DLG SET ".driver","alpha"

The first example above will redirect all DLG statements to the motif driver, while the second example will redirect all DLG statements to the alpha driver.
   DLG SET ".driver","@client"

The example above will redirect all DLG statements to the network driver running on the system named client. Please note, that the RUNSRV utility must be running on the client system.

Driver arguments


To specify additional arguments, you may specify:
      DLG SET ".driver","driver_name args..."

For a list of valid commandline arguments, please refer to the ISA Dialog Manager documentation.
The last driver argument (if present) will be considered the name of a defaults file used by the driver instead of the default one.

Note Additional network driver (client/server) arguments must be specified in the ELOQ.INI file. Arguments given in the DLG SET ".driver" statement are ignored by the network driver.


For a more specific description of the driver, please refer to the specific driver documentation: Alpha Driver, Motif Driver or Network Driver.


Driver ASYNC mode


The dialog client and server processes may communicate in two ways:
Synchronously
Each request by the client results in a server response. Processes have to wait on each other.
Asynchronously
Only specific requests result in a server response. Processes run concurrently.

Given the fact, that server operations are normally successfully completed, a lot of communication overhead is generated. Using ASYNC mode, this overhead is reduced dramatically, resulting in much better response time. However, because the server does not necessary notify at once when a problem is recognized, the error message may be retrieved at any statement executed later.
To control the driver ASYNC communication mode, you have to give the following command:
      DLG SET ".async",mode
where mode is either 1 (async mode active) or 0 (sync mode active).
Only the network driver (client/server) can run in ASYNC communication mode, but all drivers accept the syntax above.
Only the following commands use the ASYNC communication mode:
  • DLG SET
  • DLG STOP
  • DLG NEW
  • DLG DEL
    During program debug time, it is recommended to use the SYNC mode. (DLG SET ".async".0). This is also required, if you expect a command to fail. Default communication mode is SYNC mode.

    Recovering from runtime error in ASYNC mode


    If you encounter a runtime error while communicating in ASYNC mode, it's necessary to re-sync client and server processes again. To acomplish this, you have to issue a DLG SET ".async" with any mode.
    Last update: 95/11/08