I use a subroutine to manage all data input for a character based version of our
application.  This version allows the use of function keys, the escape key, 
arrow
keys, and some other special keys.  We usually use a wyse 60 emulation, thus the
character sequence for a variety of keys contain multiple characters.
 
This has worked flawlessly for 10-15 years.  We moved a group of our clients 
from D3
to UniData v7.1.9 on a new Dell Win 2K3 machine.  Since then, we've been having
problems with the data input code, in that UniData seems to be dropping 
characters.
An example is in our ECL shell program we might enter something like:
 
.
...Welcome to 'TCL'.  Enter Command to execute, or Press [Esc] to exit.
 
 
1 Demo (0)-> LIST-LOGINS
In E:\DataTrust\DTA\BP\BP\_TCL.SHELL at line 1123 Not a verb
In E:\DataTrust\DTA\BP\BP\_TCL.SHELL at line 1123  LIS-LOGINS
1 Demo (0)-> .L10
0001 LIS-LOGINS
0002 UD.LOGOFF 2332
0003 UD.LOGOFF 2652
 
The characters are echoed back to the terminal emulator (it doesn't matter 
whether
it's wIntegrate or AccuTerm) but what's submitted to the EXECUTE, in the ECL 
shell
program, has lost characters.  This doesn't happen when UD is running in our
development environment (on our local network) but only seems to happen on our 
ASP.
It also doesn't happen in some our D3/Windows environments at our clients 
offices.
 
Does anyone know if the SYSTEM(14) function, or the type-ahead buffer, can be
controlled (configured).  The code that runs this looks like:
 
LOOP                                                              ; ** UD 
version
   IF NOT(WaitTime) THEN                                          ; ** UD 
version
      INPUT AsciiChar,1: UNFILTERED     ; ** get a raw byte            UD 
version
   END ELSE                                                       ; ** UD 
version
      INPUT AsciiChar,1: FOR WaitTime UNFILTERED THEN             ; ** UD 
version
         NULL                                                     ; ** UD 
version
      END ELSE                                                    ; ** UD 
version
         IF I.VALUE = NULL$ THEN I.VALUE = WCHAR                  ; ** UD 
version
         AsciiChar = CHAR(13)                                     ; ** UD 
version
         MenuExit  = 1                                            ; ** UD 
version
      END                                                         ; ** UD 
version
   END                                                            ; ** UD 
version
   DecChar  = SEQ(AsciiChar)            ; ** convert to decimal        UD 
version
   HexStr  := OCONV(AsciiChar, 'MX')    ; ** convert to hex            UD 
version
   DecStr  := DecChar : SP1             ; ** build decimal string      UD 
version
   KeyStr  := AsciiChar                 ; ** build ascii               UD 
version
UNTIL NOT(SYSTEM(14)) DO REPEAT                                   ; ** UD 
version
 
Any thoughts would be appreciated.
 

Bill Haskett
Advantos Systems, Inc.
"What Software can be."
4370 La Jolla Village Drive, Suite 400
San Diego, CA  92122
(  360-923-4838 (WA)
(  760-944-5570 (CA)

Visit:   <blocked::http://www.advantos.net/> www.advantos.net
-------
u2-users mailing list
[email protected]
To unsubscribe please visit http://listserver.u2ug.org/

Reply via email to