.
contact contact

Known problems

 
.
  A.06.10 Release Notes


Known problems with Eloquence A.06.10:

All platforms

  • Possible wrong scroll indicator with ASCII DLG. When using the .cx method to set the cursor x position in ASCII DLG a scroll indicator may be drawn which is not required. (#672)

  • Single line functions with a member variable cause an internal failure in eloqcore and store while parsing the statement. (#666)
    DEF FNFunction(STRUCT This)=(This.Member<>0)
    -> Assertion failed: (cg == 1) file codegen.c, line 1142
    

  • ERROR 10 returning a string member variable from a function (#664)
    DEF FNX$
       ...
       I1.S$="XXX"
       RETURN I1.S$
    
    This is caused by a flaw in Eloquence. A member variable is not recognized as a string in this particular case. As a workaround, you can use RETURN I1.S$&"".

  • A problem with list causes the "array indicator" (*) to disappear when using a structure array member as a SUB/Function argument (#652). For example:
    Error=FNMake_label(Base$,Label$(*),Fu_ns.Titles$(*), Fu_ns.Address$(*), Fu_ns.City$,Fu_ns.State$,Fu_ns.Zip$, Fu_ns.Country_code$)

  • A scanner anomaly has been detected. The statement "NEW Fu_ns AS New_sales" results in a syntax error due to a conflict with the ASN keyword. As a workaround you can use a colon instead of AS: "NEW Fu_ns:New_sales" (#663).

  • A FIND statement could result in a ERR 247. On stderr the following message is output:
    db status [1944] = 11 318 0 7224 0 405 0 0 2 0
    
    An ERR 247 means that an unexpected database status was encountered during the FIND operation. This is a DBGET which failed with status 11. This is probably related to an optimization attempt of a subsequent FIND statement which ignores datasets with no active IN DATA SET .. USE since this would have no influence on the result. The case where FIND is executed with no active variable link could fail. This problem is probably also present in previous releases. (#587)

  • Bus error on duplicate udef type declaration when executed from a program. (#574)

    The problem was a duplicate type declaration in a program being loaded. (DIM Instance:Type appears two times in the main segment).
    When loaded by typing the command: LOAD "X1" the diagnostic ERROR 12 IN LINE nnnn was printed on the screen. But when loaded by command from another program (LOAD "X"&VAL$(1)), a bus error was the result.

  • Handling programs with embedded NUL characters (#606)

    The HP260 made it possible to embed NUL characters into strings. While 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 strnig constant is valid.

  • The dbtables utility does currently not report collating sequences and data set capacity.

  • Cross reference (list -x) complains about user defined types
    The cross reference (list -x) currently has some problems dealing with user defined types (STRUCT). It is complaining about multiply declared or unused member variables. (#458)

  • The TopItem attribute is currently not recognized by the DLGSRV as a mapped attribute. As a workaround, you could use TopItem as a native attribute. Just separate the attribute and object path with an exclamation mark instead of a dot. (#450)
    DLG SET "Dialog.ListBox!TopItem",3
    

  • The .h attribute is currently ignored by DLGSRV for PushButton objects. As a workaround, you could use Height as a native attribute. Just separate the attribute and object path with an exclamation mark instead of a dot. (#463)
    DLG SET "Dialog.Pb_OK!Height",3
    

  • Eloquence does not accept an implied LET using a structured type after a THEN. As a workaround, simply use explicit LET. (#392)
    IF Condition THEN LET Instance.Member=25
    

  • The Eloquence syntax analyse results in a syntax error with the statement below:
    FOR I=1 TO A STEP C
    
    The problem is, that the keyword AS is recognized errorneously. As a workaround, simply use a different variable name or use an expression (eg. A+0). (#454)

  • QFIND with IN clause on an index may return unexpected results if the collating sequence of the index and the program executing QFIND is different.

    QFIND internally uses DBFIND to position into the index and then retrieves data in index order until the max. value is exhausted. However the max. value is checked using collating sequence (this is required to handle national characters properly, eg. in German A umlaut needs to be inserted between A and B).

    If the max. value is greater (or less) than the first index value retrieved from the index, this will result in either an empty result or an unexpected number of result records. (#493).

Linux platorm

  • When using Telnet, pressing the BREAK key causes eloqcore to abort. This is related to a different behaviour of the Linux telnetd server.

    Workaround:

    • In Reflection, you should choose the TELNET BREAK setting on the open connection dialog. This will avoid to kill eloqcore on Ctrl+Break - it will become the equivalent to ^Y.
    • In order to have a HALT/BREAK key, you can use the keyboard mapping function. Just send a NUL byte for a break. You can do this with the RCL function TRANSMIT "^(0)".
      For example: To assign the F12 key to break, open the keyboard map dialog, select the F12 key in the upper area, select "RCL Command" from the Combo-Box and enter the RCL command TRANSMIT "^(0)"
    • This works with HP-UX as well, so you can use a common setting.

  • Switching to 132 column mode is currently not supported on Linux console (error 880 is issued). This is a limitation of the Linux console driver which makes direct use of the VGA hardware. (#526)

    The list of terminals which are capable to switch between 80/132 column mode is hard coded into eloqcore. Eloqcore returns error 880 when the terminal type not included in this list.

  • The keyboard sequences on the Linux console are not documented.
      ALT + H   - home display
      ALT + L   - lower end display
      ALT + D   - delete line
      ALT + I   - insert line
      ALT + J   - delete to end of screen
      ALT + K   - delete to end of line
      ALT + Tab - backtab
    

  • Linux console limitations:
    • Underline is simulated by colors on a color display
    • Dim ("half bright") is simulated by colors on a color display
    • Combined enhancements don't mix as expected

  • Linux curses library (ncurses 4.1) has problems with enhancements and line drawing on HP terminal types.

  • Eloquence on Linux requires libc 5.4.33 or above. When used with distributions which don't provide a recent libc Eloquence fails with random errors (known edfects include: error 653 while loading a dialog, core dumps).
    This is a problem with the RedHat Linux distribution which includes the libc version 5.3.12.

    As a workaround, you can can install a libc in the /opt/eloquence6/lib directory and the the LD_LIBRARY_PATH environment variable.

    The following shared library revisions are required by Eloquence:

      libncurses.so.3.0 => /lib/libncurses.so.3.0
      libg++.so.27 => /usr/lib/libg++.so.27.2.1
      libstdc++.so.27 => /usr/lib/libstdc++.so.27.2.1
      libm.so.5 => /lib/libm.so.5.0.9
      libc.so.5 => /lib/libc.so.5.4.33
    
  • The eloq program is not available on Linux. The eloq programs is used to provide virtual terminal capabilities (aka. TASKS) for Eloquence. This is done by using ptys (pseudo tty devices) to connect the eloqcore processes to eloq.
    However the method we use to communicate tty parameters and control information between eloq and eloqcore is not available in the Linux kernel. So eloq can currently not be ported to the Linux platform until we change the implementation. However, since Linux provides buitin virtual consoles and the X Windows System could be used with a terminal window this should not be a real problem.

Windows platform

  • ERR 1653 is returned on DLG statements when no previous DLG SET ".driver",... is active. (#604)

  • When the Command Window is configured to "Full Screen" instead if "Window" mode (in Settings->Control Panel->Command) this will cause a full screen command window to appear whenever eloqcore is started.
    This seems to be a problem in Windows, which works differently than specified. As a workaround you should not set the Command Window to "Full Screen" mode. (#585)

  • Example programs are not adapted to the Windows platform.

  • Handling of constant values in the graphical devlopment environment. It has been reported that a constant value could change its representation from normal (181295) to exponentioal notation (1.81295E5) when the cursor touches the line. (#461)

  • Some trace output could be lost when executing eloqcore locally. This is caused by Windows NT which simply discards any networking data when the eloqcore process ends and the IDE did not yet receive all trace information.

  • Output of system commands is lost, when the command contains a pipe.
    This does at least happen with the mks shell. This seems to be a problem with the Microsoft C runtime (mscvrt.dll).
    For example: COMMAND "!ls -l|grep Feb"

  • QUERY and other utilitiy programs such as CFORM, MFORM and PFORM require character I/O which is not available on Windows NT. There are currently no plans to provide a graphical version of the QUERY program.


 
 
.
 
 
  Privacy | Webmaster | Terms of use | Impressum Revision:  2002-11-18  
  Copyright © 1995-2002 Marxmeier Software AG