HP Eloquence A.06.10 Release Notes

HP Eloquence A.06.10 Release Notes

Enhancements and changed behavior

Personal Edition

Beginning with the A.06.01, the free HP Eloquence "Personal Edition" is available. It provides an unlimited License for personal or evaluation usage which will not expire. It is limited to two users and a maximum database size of 50MB.

Temporary license key

The temporary license key (which used to be installed previously by default) is now an installation option and must be selected explicitly during installation. This will install a 4 week temporary license with for unlimited users. In addition, temporary license keys can be requested on the HP Eloquence web site.

Integrated Dialog Editor

The HP Eloquence graphical development environment (Windows) has been enhanced with an integrated dialog editor.

New error message

A new error message 905 ("No such member") has been added. This will distinguish referencing an undeclared member variable from a undefined type. Previously both conditions resulted in a runtime error 900.

Handling programs with embedded NUL characters

The HP260 made it possible to embed NUL characters into strings. While HP Eloquence is able to execute such a program, the program listing is inconsistent, since a NUL character is used internally as a string terminator. This may cause program corruption if such a program line is modified.
Embedded NUL characters are now converted into a CHR$(0) expression. However this may cause a syntax error when a string constant is replaced by an expression due to an embedded NUL character when only a string constant is valid.

User defined types

This document describes the new behavior of user defined types with HP Eloquence A.06.10. The behavior has been changed after the initial release of A.06.00 and the new semantics were incorporated into A.06.00 fixpack 2.

Exporting types
Type definitions can be "exported" to lower calling levels. This is done with the new EXPORT TYPE keyword:
TYPE Tname [EXTENDS Tbase]
EXPORT TYPE Tname [EXTENDS Tbase]
IN DATA SET ... DEFINE TYPE Tname [EXTENDS Tbase]
IN DATA SET ... EXPORT TYPE Tname [EXTENDS Tbase]
By default a type definition is local to the current segment. This is also true for types defined in the main segment. Therefore, types used in COM statements must be "exported" in order to be usable in a subprogram. Otherwise a runtime error message will be issued.

Please note: This is a behavior change. Initially, all types defined in the main segement were global.

Type scope
A type definition is local by default and is only visible within the local segment. When a type is "exported" it becomes visible to subsequently called levels. When a segment defines a type with a name which has been exported from a higher level, it will temporarily replace the exported type in the current function or subroutine. When a segment defines and EXPORTs a type with a name which has been exported from a higher level, the newly exported type permanently replaces the former type for all subsequently called lower level segments. If the type which is most recently defined is not EXPORTed, the previously exported type again becomes available to lower called segments.

Passing STRUCTs as an argument
A STRUCT can be passed to a subprogram or function in two manners: For example:
CALL X(STRUCT X)
SUB X(STRUCT Any)             ! Anonymous

CALL Y(STRUCT X)
SUB Y(STRUCT Known:Tknown)    ! Passed value must be of type Tknown
                              ! or derived from it. Tknown must have
                              ! been definined previously
Please note: This is a behavior change. Initially, arguments were checked, when a subprogram or function was called from the main segment. Otherwise no validation was performed.

New error message 905 - No such member variable
This new runtime error occurs, whenever a specified member variable cannot be found. Previously this did result in error 900 which could be confusing.

eloqdb6.cfg: New new server configuration item

On HP-UX and Linux, a new server configuration item is available. In the section [server], the configuration item "Title" provides a configurable title displayed by ps. This is helpful to identify a server instance if you run more than one on a machine. (#676)

For example: eloqdb6.cfg

   [Server]
   ...
   Title = test server


© Copyright 1998 Hewlett-Packard GmbH. All rights reserved.
Revision: 98/04/22