Eloquence A.05.00 Release Notes

Eloquence A.05.00 Release Notes



Introduction


HP Eloqence A.05.00 is the fifth major release of Eloquence.
Eloquence A.05.00 implements the following new functionality:


Graphical User Interface


Eloquence A.04.00 provided ASCII Windows capabilities. Eloquence A.05.00 makes it possible, to map Eloquence ASCII Windows to a graphical device. You only have to add one new statement in your application, in which you define the graphical device on which the dialog should run. If you omitt this statement, then the ASCII Windows will be displayed. FORMS/ASCII Windows or FORMS/Dialog Manager Windows can run parallel.


Access to Eloquence database from user-written MS Windows applications


Eloquence A.05.00 provides a remote database library that can be linked to your own-written MS Windows application. This allows you to access Eloquence database from PC applications.


Misc. enhancements


COMMAND statement enhancements


The syntax for the COMMAND "!..." statement has been extended. It now supports the specification of a result string. If present, the output of a HP-UX command will be returned in the result string instead beeing output to the SYSTEM PRINTER.
For example:
COMMAND "!uname -i",Serial$
DISP "Your serial number is ";Serial$

Example above displays your system serial number (as returned by the uname -i command).

New ASSIGN mode


The syntax for the ASSIGN and XASSIGN statements have been extended. Now an APPEND file mode is supported. It will cause all output to a HP-UX sequential file automatically appended to the end of the file.
If a file is opened in APPEND mode, it will behave different:
For example:
ASSIGN #1 TO "Logfile";APPEND
PRINT #1;DATE$;TIME$;"Message"
...

Sample code above will cause output appended to Logfile. If Logfile does not exist, it will be created.

132 columns on 700/60 terminal


132 column mode is now supported on 700/60 terminals too.

Alternate definition of the Backspace key


kbs terminfo definition will now recognized as an alternate backspace key. If kbs is set to DEL character, DEL character will no longer cause screen refresh (you'll have to use the [[^L]] key).

Eloquence DLG enhancements


Eloquence A.05.00 supports the following new dialog attributes:
.fgc
Define dialog object "foreground" enhancements
.bgc
Define dialog object "background" enhancements

Both attributes accept a numerical argument, which specifies the enhancement by an additive value:
For example:
DLG SET "Dialog.EditText.fgc",9
will cause the addressed Edittext to be displayed reverse/half bright video instead of default underline enhancement.
Eloquence A.05.00 supports the .sensitive attribute in a groupbox. If a groupbox is not sensitive, all of its child objects are insensitive too (they can not get the keyboard focus). A groupbox is sensitive by default.

FRM2DLG conversion utility


Eloquence A.05.00 supplies the FRM2DLG utility program. It's located in the /usr/eloquence/example directory.
FRM2DLG converts Eloquence FORM files into Eloquence dlg files. It will create a .dlg file on the MSI volume with the same name as the FORM file. After the conversion process has finished, the dlg file will be displayed on the screen. Press the function key [[F8]] to terminate.
As its location in the example directory indicates, FRM2DLG has been provided as a template, that you may customize to fulfill your specific needs.




Eloquence Graphical User Interface - Overview


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.
You may simply activate a driver using one of the following DLG SET statements:
   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.
Although it's possible to use Eloquence dialog files (they are converted internally at runtime) it's strongly recommended to convert them to Dialog Manager format due to performance considerations.
Once converted, you're able to change the layout with the Dialog Manager graphical editor.
The Dialog is converted using the cvdlg utility:
   cvdlg -driver motif sample.idm sample.dlg

This will convert the Eloquence dialog file sample.dlg to Dialog Manager dialog file sample.idm using the motif driver.
It's also possible to compile a Dialog Manager dialog file. This has some additional performance advantages during dialog file load time. Compilation is done through the Dialog Manager idm utility.
For Example:
   idm +writebin sample.idc sample.idm

This will compile the Dialog Manager dialog file sample.idm into a file sample.idc. Compiled Dialog Manager files are platform dependent.

Note The idm utility program is not included with Eloquence. You have to purchase the Dialog Manager product to be able to compile dialog files.



To be able to automatically select the appropriate dialog file, the DLG LOAD statement has been enhanced if a dialog driver has been activated. If you specify a file extension of ".dlg", DLG LOAD will look for the following files (in this order):

.idc compiled Dialog Manager file dialog file
.idm Dialog Manager dialog file
.dlg Eloquence dialog file


The file extensions may be customized in the eloq.ini configuration file.
For Example:

   DLG LOAD "sample.dlg"


will try to load "sample.idc" first, then "sample.idm" and, at last "sample.dlg".

Note Note: If we talk in the following documentation about dialog server we talk about software that runs on the system on which the user interface should be displayed. The dialog client is the Eloquence application, because it sends requests to the dialog server to handle the user interface.
If we talk about systems, the server system is the system on which the Eloquence application runs, while the client is the system on which the user interface is displayed.


Last update: 95/11/08