|
Release Notes
This document provides additional information on the Eloquence runtime
(eloqcore) on the Windows platform.
When the Eloquence runtime is installed, the setup program
creates a directory tree at the given location (usually something
along C:\Program Files\Hewlett-Packard\HP Eloquence).
The installation directory is also recorded in the
Registry Database (see below).
The directrory tree is similar to the already familiar one
as created on HP-UX.
Directory | Description
|
---|
etc | Configuration files
|
bin | Executables
|
lib | Library files
|
include | Include files
|
html | Online documentation
|
dlg | Files related to the Dialog System
|
The eloq.config and eloq.rc configuration files
The eloq.config configuration file is used to hold the
machine global eloqcore configuration.
It is searched for in the etc subdirectory.
The eloq.rc configuration file is used to hold a specific
user configuration. It is searched for in the directory pointed to by
the HOME environment variable.
In order to support printing on Windows, an additional printer
type SYSTEM has been added in addition to the familiar PIPE
and FILE types.
When a printer is defined as type SYSTEM, the Windows
printer name must follow. Please note, that the printer name must
be written exactly as in Windows. Eloquence does not use the
GDI, instead all data are directly passed to the printer. That
means, that your programs must send the appropriate data and
ESC sequences for the particular printer model.
For example:
PRINTER 0 SYSTEM "HP LaserJet 4/4M Plus PS 600"
PRINTER 0 SYSTEM "\\E35\LJ4"
In addition, the printer types PIPE and FILE work
as usual. However, since Windows NT does not include a command line
spooler interface you have to provide your own.
Please note, that you can not use a PORT with Windows.
All pathes should be specified using a slash (/) instead of a
backslash (\) as a directory separator. Eloqcore internally translates
all pathes into UNIX style pathes. However this is currently not done
when processing the eloq.rc configuration file.
(Windows accepts slash as well as a backslash as a path separator.
Slashes only have a special meaning for the Windows command line
processor.)
Invoking Eloquence
When invoked from the commandline, eloqcore currently behaves like a
command line utility and sends its output on stdout and stderr to
the shell window. When started by the EqStart utility or the development
environment, it is created "invisible" (no icon appears) and any output to
stdout and stderr will be lost.
When started by the IDE, the stderr output is redirected into
Output Toolwindow. For example, if you specify the -t commandline switch,
a list of all executed statements will be logged in the output window.
Eloqcore provides a new -log file commandline switch. This
makes it possible to save all output to stderr in a log file even
from a shell which is not capable to redirect stderr separately.
Environment Variables
You can use the HOME environment variable to specify a directory
where Eloquence will look for a user specific eloq.rc configuration file.
Additionally, the SHELL or COMSPEC environment variables
are used to determine how to open a command shell (see below).
Registry usage
Eloquence uses several registry settings under
\HKEY_LOCAL_MACHINE\SOFTWARE\Hewlett-Packard\HP Eloquence.
Each registry setting in HKEY_LOCAL_MACHINE can be overridden
for the current user by an equivalent entry in HKEY_CURRENT_USER.
The Directories group is intended to help Eloquence to locate
its files. The most important entry is Directories\BaseDirectory:
It must contain the path of the installation directory, else
eloqcore will refuse to run. Other possible keys in this group can be the
specific "subdirectory" names. When they are not installed at the
same location, a key must be present which points to the actual
location. This is taken care of by the setup program.
The Shell key can be used to define a different command
shell (command processor). By default, Eloquence uses whatever is
defined in the SHELL or COMSPEC environment variable.
A shell defined by the SHELL environment variable is expected
to be UNIX compliant, whatever is pointed to by the COMSPEC
environment variable is expected to follow DOS conventions.
When none of them is defined, it will fallback to CMD.EXE
on Windows NT and COMMAND.COM on Windows 95.
However, since the default Windows shell is rather challenged (read
incomplete, lacking features), you may want to define a different
shell (some of the GNU utilities, including the shell and related
utilities have been ported to Windows NT. Please refer to
The GNU-WIN32 Project Page at Cygnus for more information).
For example, to use the MKS Korn shell (if you have it installed),
the key value for Shell might be f:/mks/mksnt/sh.exe -c.
Message Catalogs
Windows does not support message catalogs. In order to create
a message catalog, we have included a gencat utility.
Please note, that message catalogs are not binary compatible between
HP-UX and Windows NT. You need to compile the message catalog for
each platform.
Usage: gencat catfile msgfile ...
The gencat command merges each message source msgfile into a
message catalog catfile.
If catfile does not exist, it is created.
If catfile exists, its messages are included in the new catfile.
If set and message numbers collide, the new message text in file replaces
the old message text in catfile.
A msgfile consists of message, directive and comment lines (all without
leading spaces or tabs) described below. Except as noted, fields are
separated by one or more space or tab characters.
-
$set s [comment]
-
A $set directive specifies the set s, of the messages that follow until
the next $set or end-of-file appears.
The set number s is an unsigned integer in the range 1 through 255.
Any string following the set number is treated as a comment.
If a $set directive is not specified, messages are put in the default set.
Set numbers must be in ascending order within a msgfile but need not be
contiguous.
-
$delset s [comment]
-
A $delset directive deletes the message set identified by the set
number s, from an existing message catalog. Any string following
the set number is treated as a comment.
-
$delset s [comment]
-
A message line specifies a message number m, and associated message text.
The message number m is an unsigned integer in the range 1 through
32767. The message_text is a C string, including spaces, tabs
and \ (backslash) escapes, but by default without surrounding quotes
(see $quote directive below). The message number m is separated from
the message_text by a single space or tab character.
The message_text begins with the first character following the separator
and ends at new-line.
Extra spaces or tabs (including any trailing spaces or tabs) are
considered part of the message_text.
The message_text of a message line is stored incatfile with message number
m and set number s specified by the most recent $set directive.
Message numbers must be in ascending order within a set but need not be
contiguous.
Note that the space or tab separator distinguishes insertion of a null
message from deletion of a message. If a message line has a number and
separator but no text, the message number and an associated null message
string are stored in catfile. If a message line has a number but
neither separator nor text, the message number and its associated message
text are deleted from catfile.
-
$quote q [comment]
-
A $quote directive specifies a quote character q, used to surround
message_text and make leading and trailing space visible in a
message line. Any string following the specified quote character q
is treated as a comment. By default, or if a quote character q not is
supplied, quoting of message_text is not recognized.
-
$ comment
-
A $ followed by a space or tab is treated as a comment and can appear
anywhere in a file. A line consisting of zero or more spaces or tabs
is treated as a comment line.
|
|