UPDATES TO DCCONNECT CLIENT/752X EMULATOR FOR DOS SINCE THE 1.4.0 RELEASE (8/1999) ---------------------------------------------------------------------------------- This file catalogs updates made to the various flavors of the DCConnect Client/ 752X Emulator for DOS that were released on CD as version 1.4.0 in August 1999. Note: Starting with the 1.4.0M fix pack, the product has been renamed to the 'DCConnect Client'. The documentation and product screens now reflect that new name. However, there are still some remnants of the old product name in the names of some of the files that are part of the product (e.g. EMULATOR.INI, EM.BAT). Where possible, the term 'the Client' will be used instead of 'the emulator'. This package includes fixes for all flavors of the Client. The self-extracting zip file is named CLNTvvvn.EXE where 'vvv' is a version number such as 200 for version 2.0.0 or 210 for version 2.1.0 and 'n' is a letter from 'A' to 'Z' indicating the sub-version of Client contained in the fix pack. It's also possible to have the 'vvv' without any 'n' sub-version following it. For example the fix pack for sub-version A of version 2.1.0 of the Client is called CLNT210A.EXE. For the remainder of this document, we will use the notation CLNTvvvn.EXE when referring to this self-extracting zip file. But you should substitute the appropriate version number for 'vvv' and the appropriate letter for 'n' based on the sub-version that you have. The self-extracting zip file CLNTvvvn.EXE contains the following files: Documentation ------------- CLIENTFX.HTM - This file MANUALS\DCCLIENT.HTM - Documentation for DCConnct Client/752x Emulator for DOS MANUALS\7524ETS.HTM - Technical Reference for DCConnect Client - includes information about CFR APIs, internal file formats and the communications protocol. MANUALS\E9GWROOT.HTM - Part of Technical Reference MANUALS\E9GWTOC.HTM - Part of Technical Reference DOS-based Device-Specific files ------------------------------- 6400\6400BC.CFG - Input file for 6400 Bar code configuration 6400\6400BC.EXE - Bar code Configuration program for 6400 terminals 6400\6400_TSR.EXE - TSR needed for the Client to control the scanner. 6400\6400DISP.EXE - Tool to configure the 6400 display. ANTARES\ETSPB.EXE - DOS version of serial Client that runs only on the Intermec Antares line of terminals. ANTARES\ETSPT.EXE - DOS, TCP/IP-attached version of the Client that runs only on the Intermec Antares line of terminals. ANTARES\FLASHLDR.BIN - File needed by LOADER.EXE to load terminals ANTARES\LISTFILE.DOS - Used with DOWNLOAD.BAT to load DOS files to Antares ANTARES\LOADER.EXE - DOS-based file load utility from Intermec ANTARES\LOAD1.BAT - Batch file for loading a single file to the terminal ANTARES\LOAD2.BAT - Batch file for loading two files to the terminal ANTARES\SETUPANT.EXE - Utility program for changing Antares configuration ANTARES\T24FCOPY.EXE - Windows-based file load utility provided by Intermec. It can be used to upload or download files to Antares terminals. ANTARES\T24FCOPY.HLP - Help file for T24FCOPY.EXE ANTARES\USER.BAT - Called by AUTOEXEC.BAT to start Client automatically ANTARES\SAMPLE\DOWNLOAD.BAT - Sample download batch file to use with LOADER.EXE ANTARES\SAMPLE\EM.BAT - Sample version of EM.BAT for Antares ANTARES\SAMPLE\EMULATOR.INI - Sample version of EMULATOR.INI for Antares ANTARES\SAMPLE\S.BAT - Easier-to-type sample batch file for calling SETUPANT.EXE ANTARES\SAMPLE\SETUPANT.INI - Sample input file for SETUPANT.EXE ANTARES\SAMPLE\UPGRADE.BAT - Alternate UPGRADE.BAT used when loading Intermec flash to Antares terminals. FALCON\FALC_TSR.EXE - TSR needed by the Client in order to distinguish between keyboard and scanner input on the Percon/PSC Falcon and its twin the LXE MX2. LANPTPRO\PREPOST.EXE - Utility for configuring the bar code pre/postamble on the Intelligent Instrumentation LanPoint Pro (aka Symbol FMT3000). SPEC24\CFG3000.EXE - Configuration utility for Symbol Spectrum 24 terminals. It modifies INIT.EXE. SPEC24\ETSPT.EXE - DOS, TCP/IP-attached version of Client used by the Symbol Spectrum 24 terminals. It uses Novell's LAN Workplace for DOS. The terminals are shipped by Symbol with the Novell software installed. SPEC24\FLSHBLD.EXE - Self-extracting zip file containing the set of files used when flashing the Symbol Spectrum 24 terminal. SPEC24\S24_TSR.EXE - Required for use of the scanner and Serial port on Symbol Spectrum 24 terminals TELXON\HHB.EXE - Version of Telxon's HandHeld Bridge that runs on the PC TELXON\HHB.TXT - Documentation for Telxon's HHB.EXE TELXON\HHBR.EXE - Version of Telxon's HandHeld Bridge that runs on the terminal TELXON\HHBR.TXT - Documentation for Telxon's HHBR.EXE TELXON\TELXONBC.EXE - Bar code Configuration program for Telxon terminals TELXON\TELXONBC.CFG - Input file for Telxon Bar code configuration TELXON\T870_TSR.EXE - TELX_TSR.EXE for use on PTC870; it is required for any scanner use on this terminal TELXON\TELX_TSR.EXE - Optional TSR for Telxon 960SL/X, 860IM; provides RS-232 support and enhanced scanner support TELXON\WANDTSR.EXE - TSR required for scanner support on Telxon 960SL/X, 860IM Two DOS Flavors of the Client that Communicate to DCConnect Serially -------------------------------------------------------------------- SERIAL\ETSPB.EXE - Serial-attached version of the Client for use on DOS devices. SERIAL\NLS\ETSPB.EXE - DOS version of serial Client built with different video routines that use whatever code page is set in DOS for displaying characters. Does not work on all devices (but does work on Janus 2050). Various DOS flavors of the Client for different TCP/IP stacks ------------------------------------------------------------- TCP_FTP\ETSPT.EXE - DOS, TCP/IP-attached version of the Client requiring FTP Software's PC/TCP Network Kernel for DOS. TCP_FTP\NLS\ETSPT.EXE - DOS Version of TCP/IP Client for FTP stack built with different video routines that use whatever code page is set in DOS for displaying characters. Does not work on all devices (but does on Janus 2050). TCP_IBM\ETSPT.EXE - DOS, TCP/IP-attached version of the Client requiring IBM DOS TCP/IP Support. Also runs in a full screen DOS session of OS/2. TCP_NOV\ETSPT.EXE - DOS, TCP/IP-attached version of Client requiring Novell's LAN Workplace for DOS. TCP_VSL\ETSPT.EXE - DOS, TCP/IP-attached version of Client that requires the Virtual Socket Library from JSB Software. Client Files for Use on 32-bit Windows Platforms (95/98/Me/NT/2000/XP) ---------------------------------------------------------------------- WIN32\ETSPT.EXE - Windows 95/98/Me/NT/2000/XP TCP/IP-version of Client. Uses networking support that is provided by the operating system. This is the stub executable that is run to start the Client; the majority of the program is in WIN32\ETSPT.DLL. WIN32\ETSPT.DLL - Windows 95/98/Me/NT/2000/XP TCP/IP-version of Client DLL; requires WIN32\ETSPT.EXE to start it. WIN32\SAMPLE\EMULATOR.INI - Sample EMULATOR.INI for the 32-bit Windows flavor of the Client. Client Files for Use on Windows CE Devices ------------------------------------------ MAKECAB.BAT - Used to build Windows CE .CAB files from .INF files DCCLIENT.INF - Sample .INF file used to create DCConnect Client .CAB files for the various flavors of Windows CE devices. CECONFIG.VB - Microsoft eMbedded Visual Basic executable for the IBM CE Config Tool. This tool uses an .INI file to set up registry values, create files, and perform file and directory operations for the purpose of automating the configuring a Windows CE device. Provides the ability to prompt the user for certain values, including the ability to provide a list of valid choices, while automating the setting of any values that would not change. CECONFIG.INI - Sample .INI file used by the IBM CE Config Tool. Includes sample commands for setting registry keys and creating a file. ETSUSER.C - Sample source for building Windows CE DLL needed on some devices to run the Client in 'full-screen' mode. Also can be used to add customer menu items to the Client's pull-down menus. ETSUSER.DEF - Sample module definition file to go with ETSUSER.C ETSUSER.VCN - Microsoft eMbedded Visual Toolkit makefile file used to build various flavors of ETSUSER.DLL from the source files ETSUSER.C and ETSUSER.DEF. ETSUSER.VCP - Microsoft eMbedded Visual Toolkit projecte file used to build various flavors of ETSUSER.DLL from the source files ETSUSER.C and ETSUSER.DEF. ETSUSER.VCW - Make file generated by Microsoft eMbedded Visual Toolkit; used to build various flavors of ETSUSER.DLL from the source files ETSUSER.C and ETSUSER.DEF. NMI600.BAT - Batch file to use with the makefile ETSUSER.VCN in order to build ETSUSER.DLL for the Intermec 600. Also used with the various Windows CE makefiles that are part of the CFR packages. NMI700.BAT - Batch file to use with the makefile ETSUSER.VCN in order to build ETSUSER.DLL for the Intermec 700. Also used with the various Windows CE makefiles that are part of the CFR packages. NMI5020.BAT - Batch file to use with the makefile ETSUSER.VCN in order to build ETSUSER.DLL for the Intermec 5020. (running Windows CE 3.0). Also used with the various Windows CE makefiles that are part of the CFR packages. NMI6651.BAT - Batch file to use with the makefile ETSUSER.VCN in order to build ETSUSER.DLL for the Intermec 6651. Also used with the various Windows CE makefiles that are part of the CFR packages. NMLPTCE.BAT - Batch file to use with the makefile ETSUSER.VCN in order to build ETSUSER.DLL for the Intelligent Instrumentation LanPoint CE. Also used with the various Windows CE makefiles that are part of the CFR packages. NMX86EM.BAT - Batch file to use with the makefile ETSUSER.VCN in order to build ETSUSER.DLL for the MS Pocket PC Emulation environment. Also used with the various Windows CE makefiles that are part of the CFR packages. IMEC600\ETSPT.EXE - Windows CE TCP/IP Sockets version of Client for the Intermec 600 terminal. Uses networking support that is provided by the operating system. This is the stub executable that is run to start the Client; the majority of the program is in IMEC600\ETSPT.DLL. IMEC600\ETSPT.DLL - Windows CE TCP/IP Sockets version of Client DLL for the Intermec 600 terminal; requires IMEC600\ETSPT.EXE to start it. IMEC600\SAMPLE\EMULATOR.INI - Sample EMULATOR.INI for Intermec 600 IMEC600\SAMPLE\IMEC600.INF - Sample .INF file used with MAKECAB.BAT for creating IMEC600.CAB. IMEC700\ETSPT.EXE - Windows CE TCP/IP Sockets version of Client for the Intermec 700 terminal. Uses networking support that is provided by the operating system. This is the stub executable that is run to start the Client; the majority of the program is in IMEC700\ETSPT.DLL. IMEC700\ETSPT.DLL - Windows CE TCP/IP Sockets version of Client DLL for the Intermec 700 terminal; requires \IMEC700\ETSPT.EXE to start it. IMEC700\SAMPLE\EMULATOR.INI - Sample EMULATOR.INI for Intermec 700 IMEC700\SAMPLE\IMEC700.INF - Sample .INF file used with MAKECAB.BAT for creating IMEC700.CAB. IMEC5020\ETSPT.EXE - Windows CE TCP/IP Sockets version of Client for the Intermec 5020 terminal (running Windows CE 3.0). Uses networking support that is provided by the operating system. This is the stub executable that is run to start the Client; the majority of the program is in IMEC5020\ETSPT.DLL. IMEC5020\ETSPT.DLL - Windows CE TCP/IP Sockets version of Client DLL for the Intermec 5020 terminal (running Windows CE 3.0); requires IMEC5020\ETSPT.EXE to start it. IMEC5020\SAMPLE\EMULATOR.INI - Sample EMULATOR.INI for Intermec 5020 IMEC5020\SAMPLE\IMEC5020.INF - Sample .INF file used with MAKECAB.BAT for creating IMEC5020.CAB. IMEC6651\ETSPT.EXE - Windows CE TCP/IP Sockets version of Client for the Intermec 6651 terminal. Uses networking support that is provided by the operating system. This is the stub executable that is run to start the Client; the majority of the program is in IMEC6651\ETSPT.DLL. IMEC6651\ETSPT.DLL - Windows CE TCP/IP Sockets version of Client DLL for the Intermec 6651 terminal; requires IMEC6651\ETSPT.EXE to start it. IMEC6651\SAMPLE\EMULATOR.INI - Sample EMULATOR.INI for Intermec 6651 IMEC6651\SAMPLE\IMEC6651.INF - Sample .INF file used with MAKECAB.BAT for creating IMEC6651.CAB. LANPTCE\ETSPT.EXE - Windows CE TCP/IP Sockets version of Client for the Intelligent Instrumentation LanPoint CE terminal. Uses networking support that is provided by the operating system. This is the stub executable that is run to start the Client; the majority of the program is in LANPTCE\ETSPT.DLL. LANPTCE\ETSPT.DLL - Windows CE TCP/IP Sockets version of Client DLL for the LanPoint CE terminal; requires \LANPTCE\ETSPT.EXE to start it. LANPTCE\SAMPLE\EMULATOR.INI - Sample EMULATOR.INI for LanPoint CE LANPTCE\SAMPLE\LANPTCE.INF - Sample .INF file used with MAKECAB.BAT for creating LANPTCE.CAB. SYM81XX\SAMPLE\CECONFIG.INI - Sample CECONFIG.INI for Symbol 81xx SYM81XX\SAMPLE\EMULATOR.INI - Sample EMULATOR.INI for Symbol 81xx SYM81XX\SAMPLE\SYM81XX.INF - Sample .INF file used with MAKECAB.BAT for creating SYM81XX.CAB. X86EMDBG\ETSPT.EXE - Windows CE TCP/IP Sockets version of Client for the Microsoft Pocket PC Emulation Environment. Uses networking support that is provided by the operating system. This is the stub executable that is run to start the Client; the majority of the program is in X86EMDBG\ETSPT.DLL. X86EMDBG\ETSPT.DLL - Windows CE TCP/IP Sockets version of Client DLL for the Pocket PC Emulator; requires \X86EMDBG\ETSPT.EXE to start it. X86EMDBG\SAMPLE\EMULATOR.INI - Sample EMULATOR.INI for the Pocket PC Emulator X86EMDBG\SAMPLE\X86EMDBG.INF - Sample .INF file used with MAKECAB.BAT for creating X86EMDBG.CAB. Files Used for Building CFRs to Run with the Client (DOS, 32-bit Windows, Windows CE) ------------------------------------------------------------------------------------- CFRTOOLS\CFRAPI24.H - Header file required for compiling all CFRs CFRTOOLS\CFRWIN32.H - Header file required for compiling Win32 and CE CFR DLLs CFRTOOLS\BORLAND\CFRAPI24.LIB - Library file required for linking when building CFRs with Borland Turbo C++ 3.0 for DOS CFRTOOLS\IBMC2\CFRAPI24.LIB - Library file required for linking when building CFRs with IBM C/2 1.10 CFRTOOLS\IMEC600\CFRAPICE.LIB - Library file required for linking CFR built for Intermec 600 terminals CFRTOOLS\IMEC700\CFRAPICE.LIB - Library file required for linking CFR built for Intermec 700 terminals CFRTOOLS\IMEC5020\CFRAPICE.LIB - Library file required for linking CFR built for Intermec 5020 terminals (running Windows CE 3.0) CFRTOOLS\IMEC6651\CFRAPICE.LIB - Library file required for linking CFR built for Intermec 6651 terminals CFRTOOLS\LANPTCE\CFRAPICE.LIB - Library file required for linking CFR built for Intelligent Instrumentation LanPoint CE terminals CFRTOOLS\X86EMDBG\CFRAPICE.LIB - Library file required for linking CFR built for MS Pocket PC Emulation Environment CFRTOOLS\WIN32\CFRAPI32.LIB - Library file required for linking 32-bit Windows CFRs CFRTOOLS\CFRUTL24.RME - README file describing the files in the CFR utility library package in more detail. CFRTOOLS\CFRUTL24.HTM - More detailed documentation about each utility routine. CFRTOOLS\CFRUTL24.H - Include file use in building the CFR utility library - and needed when building a CFR that uses the routines in this library. CFRTOOLS\*.C - Source files used to build the utility library. See CFRTOOLS\CFRUTL24.RME for a description of each. CFRTOOLS\CFRUTL24.MAK - Used for building the version of CFR utility library for either the Borland Turbo C++ 3.0 for DOS compiler or the IBM C/2 1.10 compiler. CFRTOOLS\CFRUTL32.DSP - Project file used with MS Visual Studio for building / working with the 32-bit Windows version of the CFR utility library. CFRTOOLS\CFRUTL32.DSW - Workspace file used with MS Visual Studio for building / working with the 32-bit Windows version of the CFR utility library. CFRTOOLS\CFRUTL32.MAK - Generated by MS Visual Studio for building the 32-bit Windows version of the CFR utility library CFRTOOLS\NMUTL32.BAT - Batch file used to build the 32-bit Windows version of the CFR utility library. Uses CFRTOOLS\CFRUTL32.MAK. CFRTOOLS\CFRUTLCE.VCN - Generated by MS eMbedded Visual Toolkit for building the various Windows CE flavors of the CFR utility library. Used with NM*.BAT. CFRTOOLS\CFRUTLCE.VCP - Project file used with MS eMbedded Visual Toolkit for building / working with the various Windows CE flavors of the CFR utility library. CFRTOOLS\CFRUTLCE.VCW - Workspace file used with MS eMbedded Visual Toolkit for building / working with the various Windows CE flavors of the CFR utility library. CFRTOOLS\NMI600.BAT - Batch file for building Intermec 600 flavor of cfrutlce.lib. Uses CFRTOOLS\CFUTLCE.VCN. CFRTOOLS\NMI700.BAT - Batch file for building Intermec 700 flavor of cfrutlce.lib. Uses CFRTOOLS\CFUTLCE.VCN. CFRTOOLS\NMI5020.BAT - Batch file for building Intermec 5020 (running Windows CE 3.0) flavor of cfrutlce.lib. Uses CFRTOOLS\CFUTLCE.VCN. CFRTOOLS\NMI6651.BAT - Batch file for building Intermec 6651 flavor of cfrutlce.lib. Uses CFRTOOLS\CFUTLCE.VCN. CFRTOOLS\NMLPTCE.BAT - Batch file for building Intelligent Instrumentation LanPoint CE flavor of cfrutlce.lib. Uses CFRTOOLS\CFUTLCE.VCN. CFRTOOLS\NMX86EM.BAT - Batch file for building the MS Pocket PC Emulator flavor of cfrutlce.lib. Uses CFRTOOLS\CFRUTLCE.VCN. CFRTOOLS\BORLAND\CFRUTL24.LIB - Utility library file used when linking CFRs built with Borland Turbo C++ 3.0 for DOS CFRTOOLS\IBMC2\CFRUTL24.LIB - Utility library file used when linking CFRs built with IBM C/2 1.10 CFRTOOLS\IMEC600\CFRUTLCE.LIB - Utility library file used when linking CFRs built for Intermec 600 terminals CFRTOOLS\IMEC700\CFRUTLCE.LIB - Utility library file used when linking CFRs built for Intermec 700 terminals CFRTOOLS\IMEC5020\CFRUTLCE.LIB - Utility library file used when linking CFRs built for Intermec 5020 terminals (running Windows CE 3.0) CFRTOOLS\IMEC6651\CFRUTLCE.LIB - Utility library file used when linking CFRs built for Intermec 6651 terminals CFRTOOLS\LANPTCE\CFRUTLCE.LIB - Utility library file used when linking CFRs built for Intelligent Instrumentation LanPoint CE terminals CFRTOOLS\X86EMDBG\CFRUTLCE.LIB - Utility library file used when linking CFRs built for the MS Pocket PC Emulator. CFRTOOLS\WIN32\CFRUTL32.LIB - Utility library file used when linking CFRS built for 32-bit Windows. CFRTOOLS\CFRSMP24.ZIP - Sample CFR package. Source, make and library files included for DOS, 32-bit Windows and Windows CE devices CFRTOOLS\CFRPAN24.ZIP - Input panel driver CFR package. Source, make and library files included for DOS, 32-bit Windows and Windows CE devices CFRTOOLS\CFRUTL24.ZIP - Package of useful utility routines to include in CFRs. Source, make and library files included for DOS, 32-bit Windows and Windows CE devices Miscellaneous Files ------------------- LOGFILE.LOG - Empty transaction logfile. Needed when building Windows CE .CAB files - along with LOGFILE.NDX. LOGFILE.NDX - Empty transaction index file. Needed when building Windows CE .CAB files - along with LOGFILE.LOG. To expand the file, copy it to an empty directory. If you have installed a version of the Client from a version 2.00 CD or later, then copy this self-extracting zip file to the directory into which the product CD was installed (e.g. C:\DCCONN\DCCLIENT) Then run the following from that directory: CLNTvvvn where 'vvv' is the 3-digit version number and 'n' is a letter from 'A' to 'Z' for the sub-version. The sub-directories will be created automatically. Refer to the documentation in DCCLIENT.HTM for device specific instructions about how the updated Client executable and associated files should be loaded into the device you are using. CHRONOLOGICAL SUMMARY OF FIXES/CHANGES -------------------------------------- 07-16-99: - Fixed temporary loss of communication problem that occurs when loading large validation files in the serial version. End-of- download processing which converts record separators to NULLs was not yielding the processor thus preventing incoming host commands from being processed. ---------------------------------------------------------------------------- End of changes in version 1.40A version of product (July 1999). ---------------------------------------------------------------------------- 07-23-99: - For the SEND (:W) command, if the target is RS-232 and the length of the data being written is 0, message 9053, RS-232 Length Error' will now be given and the transaction program will abort. In the past 9316, BIOS ComWrite error was given in this error situation. - Corrected/enhanced the return codes for the following CFR APIs: - AliasTransID() now returns RANGE_ERROR, as is documented, instead of E_PARAM - if the ID is invalid. - ClearUserVariable() now returns RANGE_ERROR if the user variable is invalid. Before no error was given. - Validation() now returns FILE_NOT_FOUND if the validation file could not be found. Before RANGE_ERROR was given in certain error situations. - WaitEvent() will not return TERMINAL_OFFLINE if the terminal is put out of service during the call. This is the same behavior as IdleManager(). - Fixed problem that occurs if you send a transaction from case 0 or 2 of a CFR. The code was trying to run some other transaction program when the CFR completed - resulting in one of several possible erroneous messages such as 'invalid parameter'. ---------------------------------------------------------------------------- End of changes in version 1.40B version of product (July 1999). ---------------------------------------------------------------------------- 08-16-99: - Client is now considered in the transaction state when case 0 or case 2 of a CFR are run during a change to the in service state. This fixes problem where certain keys were not being passed to the CFR in this scenario. 08-27-99: - Fixed the DUMP MEMORY option under INFO/STATUS menu for the CFR file (file C). Before the fix, no file data would be dumped even when the CFR was loaded. ---------------------------------------------------------------------------- End of changes in version 1.40C version of product (August 1999). ---------------------------------------------------------------------------- 10-22-99: - Fixed problem downloading transaction programs > 64K. On the terminal the loading of file 0 would fail around block 138. So the terminal would show: Loading file 0: 138 and in DCConnect, there would be an error message about the downloading failing - specifying -309 for the return code. 11-02-99: - Fixed problem allocating memory for CFRs that require > 32767 bytes of memory. ---------------------------------------------------------------------------- End of changes in version 1.40D version of product (November 1999). ---------------------------------------------------------------------------- 11-09-99: - Fixed READ command so that it does not activate the scanner unless the scanner was one of the input devices selected. At this writing this really only affects Telxon and the Symbol Spectrum 24 terminals; for all others the scanner is always on - even though the Client might ignore it's input. 11-26-99: - Fixed cause of POST 82 error on startup - which might occur in rare circumstances if there was limited free terminal memory. Problem was there used to be an assumption that a task ID could not be greater than 0x8000 when in fact it could. 12-02-99: - Minor changes to serial port code to turn the power on to the serial port when a read is issued to a device (using CFR API ComRead). Power stays on for 10 seconds - unless other reads or writes are done. In the past, only the ComWrite API or SEND command from a transaction program would turn the power on. 12-02-99: - Added support for Telxon 870 IM terminal. The device parameter to use is -dPTC870. 12-02-99: - Added support for use of a TSR to handle scanning functions and RS-232 functions. The scanning functions allow the Client to distinguish between keyboard and scanner input and allow better enforcement of length - for those devices which do not support configuring preamble and postamble characters. The RS-232 functions allow the use of the serial port on devices that do not have a standard interface to the serial port. As of now, two TSRs have been created to take advantage of this new TSR interface. One is for use on the Telxon 960SL, 960X, and 860IM terminals. The other is for the Telxon 870IM terminal. Two new keywords for the EMULATOR.INI file tell the Client to use the TSR for scanner/RS-232 functions: USE_TSR_FOR_SCANNER and USE_TSR_FOR_RS232. ---------------------------------------------------------------------------- End of changes in version 1.40E version of product (November 1999). ---------------------------------------------------------------------------- 12-14-99: - Fix for error message/bad return code when writing to serial port from transaction program/cfr. Return code was not being set properly. - Added support for Antares terminals in the serial version of Client. Includes full scanner support too. 12-16-99: - Scrolling using the arrow keys is now available. This allows you to view out to column 40 and down to row 20 on devices such as the Telxon PTC960 which do not have that many rows or columns. - The command line parameter -h for specifying the host IP address and port number will now assume the port is 7500 if only the IP address is specified. - Moved into EMULATOR.INI from the menus all configuration parameters that were not already configurable from EMULATOR.INI. This was done for future consistency and to save space. The menus will be just for diagnostic tools and exiting the program. A couple command line parameters also now have equivalents in EMULATOR.INI The new commands in EMULATOR.INI are: NUM_ROWS NUM_COLS or NUM_COLUMNS STATUS_ROW MSG_BUFFER_FULL MSG_WAITING_FOR_FILES TCPIP_PORT TCPIP_HOST RESEND_TIMER ADDRESS BAUD_RATE COM_PORT DEVICE Please refer to the latest version of DCCLIENT.HTM for a description of how they are used. ---------------------------------------------------------------------------- End of changes in version 1.40F version of product (December 1999). ---------------------------------------------------------------------------- 01-20-00: - Fixed problem handling duplicate messages in TCP/IP versions of the Client. When a duplicate was received, if the sequence of the current message matched the one from the saved response, the saved response should have been resent. The problem was the saved sequence number was never being updated and thus the resend of a saved response never occurred when it should have. With this fix, communications with DCConnect is now more tolerant of packets that are lost or duplicated in the network. ---------------------------------------------------------------------------- End of changes in version 1.40G version of product (January 2000). ---------------------------------------------------------------------------- 01-24-00: - Added support for Intermec's Antares line of terminals. Special executables specific to Antares terminals were created for both the serial and TCP/IP flavors of the Client. Because of the design of Antares terminals, TCP/IP attached Antares terminals must be configured to use the same port number as DCConnect. 01-25-00: - Removed from the menus, all of the menus related to configuring parameters since all parameters can now be configured via the EMULATOR.INI file (see 12-16-99 comment above). The main menu now has the following options: 1) VERSION INFO 2) TXTN COUNT 3) TRACE LOG 4) DUMP MEMORY 5) VIEW SETTINGS 6) CLOSE MENUS X) EXIT PROGRAM The first 4 options are the same as what used to be on the INFO/STATUS menu. Option 5 is new and it allows you to view the current setting of all parameters that could be configured using EMULATOR.INI - but it does not allow you to change any of them. Option 6 is for leaving the menus without ending the Client. And Option X is just like the former 'EXIT TO DOS" option but has been reworded so it is applicable in non-DOS environments. Due to these changes the size of the Client was reduced by 5K - 10K which should allow more space for downloading files. ---------------------------------------------------------------------------- End of changes in version 1.40H version of product (February 2000). ---------------------------------------------------------------------------- 02-02-00: - For Antares, removed the TRACE LOG and DUMP MEMORY diagnostic options from the menus to save +5K in the executable size. The Antares has less available memory than the other terminals. - Changed the underlying code for the CFR API GetTerminalAddress so that it no longer uses the C function sprintf(). Prior to this change, calling this CFR API could cause a runtime stack overflow error if the CFR stack was not big enough. 02-03-00: - Restructured CFRAPI24.LIB so that every function in it is now in it's own .OBJ file. This can reduce the CFR size up to 3K, depending on how many CFR API functions are being used. ---------------------------------------------------------------------------- End of changes in version 1.40I version of product (February 2000). ---------------------------------------------------------------------------- 02-18-00: - The transaction program file can now be greater than 99999 bytes in size. In order to take advantage of this change, Fix Pack D for the 1.4.0 CDs of DCConnect must be installed. 5 bytes are used to specify the size. If the size is > 99999, the first byte is 'A' to 'Z' indicating a multiple of 65536, where 'A' is a multiple of 1. The remaining 4 bytes is a hex value from 0x0000 to 0xFFFF specifying the remainder value to be added to the value derived from the first byte - resulting in the true file size. 03-03-00: - Fixed date roll over problem. At midnight the terminal date would intermittently fail to be updated. The terminal continues to display the correct time, but the date can be off by one or more days. The problem appears to be one with DOS itself failing to reflect the change in date if a request to get the date and time is being made right at midnight. The Client now detects the problem and corrects the date within a second after midnight, or sooner if the Client needs to get the date/time for a transaction, CFR call, ... ---------------------------------------------------------------------------- End of changes in version 1.40J version of product (March 2000). ---------------------------------------------------------------------------- 03-30-00: - Changed the start up code to clear the opening screen when the terminal is put out of service at the start of a download. This fixes a problem trying to run a mode 2 CFR in the case that the download completes before the 20 seconds that the opening screen automatically times out after. 04-03-00: - Fixed problem calling CallKeyDef from a mode 2 CFR (one that never returns from a function 0 or 2). A return code of TRANS_IN_PROGRESS would always be given. This problem was introduced with the 8-16-99 fix (see above) for a problem getting certain keystrokes in a CFR. ---------------------------------------------------------------------------- End of changes in version 1.40K version of product (April 2000). ---------------------------------------------------------------------------- 04-20-00: - Made a couple of changes to improve performance on Antares. ---------------------------------------------------------------------------- End of changes in version 1.40L version of product (April 2000). ---------------------------------------------------------------------------- 05-01-00: - Another fix for Antares - possible mix up of messages generated when duplicate messages are received. ---------------------------------------------------------------------------- End of changes in version 1.40M version of product (May 2000). ---------------------------------------------------------------------------- 5-24-00: - Added new CFR API called KbdHandleArrowKeys. This allows a CFR to turn on and off the Client's handling of the arrow keys to scroll the window. The format of the API is: USHORT KbdHandleArrowKeys (UCHAR flag); where 'flag' is either HANDLE_ARROWS_YES or HANDLE_ARROWS_NO. By default the Client filters out the arrow keys and scrolls the screen based on the key pressed. But if the Client has been told not to filter out the arrow keys, then the CFR can receive these keys using KbdReadAscii(). The values for the arrow keys, which are defined in CFRAPI24.H are CURSOR_UP, CURSOR_DOWN, CURSOR_LEFT and CURSOR_RIGHT. 5-25-00: - Found that several CFR APIs were missing from the Windows/NT and Windows CE versions of the Client. The missing CFR APIs were: QueryTransactionCnt, SendTransaction, AliasTransID, GetTerminalAddress, GetPowerState, KbdGetShift 5-26-00: - For the Windows versions of the Client, XON/XOFF was not explicitly being turned off when the configuration indicated it should not be on. Therefore the previous setting would stay in effect. ---------------------------------------------------------------------------- End of changes in version 1.40N version of product (May 2000). ---------------------------------------------------------------------------- 6-14-00: - Added a TSR for use with Symbol Spectrum 24 terminals. This TSR provides support of the serial port as well as scanner support, which allows the Client to be able to distinguish between keyboard and scanner input. ---------------------------------------------------------------------------- End of changes in version 1.40O version of product (June 2000). ---------------------------------------------------------------------------- 7-12-00: - For the Intermec 5020 version of the Client, certain CFR APIs did not work correctly because the Client was not being built with the 8 byte alignment that is required by all applications that run on this device. 7-21-00: - The CFR API ClearUserVariable() can now be used to clear the transaction buffer by passing a -1 in for the user variable number. The constant TRANS_BUFFER has also been added to CFRAPI24.H for this purpose. ---------------------------------------------------------------------------- End of changes in version 1.40P version of product (July 2000). ---------------------------------------------------------------------------- 8-22-00: - Fixed a memory fragmentation problem that would cause downloads to fail even when there was sufficient memory in total. When the problem existed, a restart of the Client would allow the download to complete successfully. The problem was caused by the fact that space occupied by the CFR was not freed until several allocations for other files were attempted. So the space occupied by the CFR from a previous load was locked while the first couple of allocations were attempted. If one of the earlier files grew in size, other files would no longer fit before the CFR - and if there wasn't sufficient space after, the allocation would fail. Now the CFR is freed at the start of the download. The problem was found on the Antares terminal - which has less memory than most other terminals. However, the problem has always existed and could have affected any terminal. ---------------------------------------------------------------------------- End of changes in version 1.40Q version of product (August 2000). ---------------------------------------------------------------------------- 8-23-00: - Modified the SHOW_IDLE_TIME keyword for EMULATOR.INI to allow you to specify a date and/or time format. These would override the formats that are downloaded from DCConnect (which aren't currently able to be changed any way!) The choices for date format are: MMDDYY YYMMDD DDMMYY JJJYY YYJJJ the choices for time format are: 12 24 If both date and time are to be shown, separate the date and time format by at least 1 space or comma. Here are some examples: To show just the date using MMDDYY format, add the following line to EMULATOR.INI: SHOW_IDLE_TIME = MMDDYY To show the date using YYMMDD and the time using 24 hour format, add the following line to EMULATOR.INI: SHOW_IDLE_TIME = YYMMDD, 24 To show just the time in 24 hour format, add the following line to EMULATOR.INI: SHOW_IDLE_TIME = 24 Using SHOW_IDLE_TIME = Y is still supported and will use whatever formats are dowloaded from DCConnect (which are currently YYMMDD and 12 hour time). - The date separator can now be changed using the new keyword in EMULATOR.INI: DATE_SEPARATOR = - where the valid choices to the right of the equal sign are - / or . If this keyword is not used, the default date separator is the slash (/) character. - The time separator can now be changed using the new keyword in EMULATOR.INI: TIME_SEPARATOR = . where the valid choices to the right of the equal sign are . or : If this keyword is not used, the default time separator is the colon (:) character. 8-31-00 - Fixed a problem with the Win32 version of the Client trapping if a download is started while the Client code is looping in a CFR and not responding to the TERMINAL_OFFLINE return code. All versions of the Client will now respond to the CFR memory allocate request during the download with a no memory available response if the request is received while the CFR is actively running. ---------------------------------------------------------------------------- End of changes in version 1.40R version of product (August 2000). ---------------------------------------------------------------------------- 9-21-00: - Added support for new keyword in EMULATOR.INI for disabling the arrow keys. If the following statement is added to EMULATOR.INI: IGNORE_ARROW_KEYS = Y then pressing the DCConnect Client will no longer perform scrolling of the screen when the arrow keys are pressed. ---------------------------------------------------------------------------- End of changes in version 1.40S version of product (September 2000). ---------------------------------------------------------------------------- 9-27-00: - Message 9801 (Error in program command string) has been changed to show the actual program command string that is in error. This should help to understand what is going wrong - although it requires you know the raw program data format (e.g. RETURN = :R) 9-29-00: - Added to the menus, the ability to view the contents of user variables. A new DIAGNOSTICS sub menu was added to the main menu and the options TRACE LOG and DUMP MEMORY were moved to this menu from the main menu. You can view the contents of any user variable from 0-99 and you can specify to view the next non-blank user variable, given some starting point. 9-30-00: - Added the ability to step through a transaction program for debug purposes. Turning 'stepping' on and off is done using an option on the new DIAGNOSTICS menu. When stepping is active, the next command to be executed is shown at the bottom of the screen. You must press Enter to move to the next step. You can also press Esc to turn stepping off at any step in the program. 10-23-00: - In order to allow larger downloads, paging of the transaction program file (file 0) and validation files has been implemented. When paging is in effect, these files are loaded to the 'hard disk' of the terminal and are only loaded into the terminal's RAM memory, as programs / validation files are actually used. Previously, all files were loaded into RAM memory at all times. Please see the updated documentation regarding the new EMULATOR.INI keywords FILE_PAGING and LOCK_IN_MEMORY for more details. Note: In order for this feature to work properly when the transaction program file (file 0) exceeds 99,999 bytes, you must have a version of \DCCONN\DLL\TDCOMMON.DLL that is later than October 19, 2000 (which will be fix pack D or later for version 1.40 of the DCConnect products). Note: On certain devices (e.g. Antares), writing to the 'hard disk' is a slow operation and can therefore affect the terminal's responsiveness during a download. To get around this, the Poll Timeout parameter for the line will probably need to be increased in the DCConnect Line Settings notebook. By default this timeout is usually around 0.5 seconds. We've found that 1.5 seconds is usually sufficient - for both TCP/IP and serial lines. If the timeout is not increased, you may start seeing more 'Unexpected data' messages during the download or the download may fail altogether during the download of the transaction program file or a validation file - because the terminal did not respond in time to the DCConnect Server's load command. 11-01-00: - Updated the Spectrum24 flash build files (FLSHBLD.ZIP) to include the new level Symbol flash drivers( FLASHDSK.SYS, FLSHCTL.EXE and FLSHFMT.EXE). This driver change was required because Symbol is now using a different type flash chip on their new terminals. The replacement drivers are compatible with both the new and the older model terminals. 11-01-00: - Added a new KEY_CLICK ini file keyword. This keyword can be used to turn on the terminal keyboard key click sound. ---------------------------------------------------------------------------- End of changes in version 1.40T version of product (November 2000). ---------------------------------------------------------------------------- 11-09-00: - Fixed problem with Validation() API in CFR: it was failing to find a remote validation file name when that name was at the end of the list of valid file names (file E). 11-09-00: - Fixed problem enforcing the maximum length for a validation request. The maximum data length is from 87 to 94 bytes depending on the length of the validation file name (x.VAL to xxxxxxxx.VAL). Before this fix, if the data was too long, memory corruption occurred. ---------------------------------------------------------------------------- End of changes in version 1.40U version of product (November 2000). ---------------------------------------------------------------------------- 11-29-00: - Fixed GetTerminalAddress() API for the TCP/IP versions of the Client that run on any flavor of Windows. Prior to this fix, the IP address would always be 0.0.0.0 - although the port number was correct. 11-29-00: - Fixed another problem with the CFR API Validation() which occurred when there were more than 6 validation files in use. The problem resulted in a malformed validation transaction (it contained no validation file name). The DCConnect Server would give an error about this bad validation transaction. 12-07-00: - Fixed handling of different screen sizes for the 32-bit Windows version of the Client. The window is now precisely sized based on the -d (or DEVICE = ) parameter or by the NUM_ROWS and NUM_COLS parameters. The window no longer has scroll bars. The arrow keys are now used to scroll the contents of the screen - in the same way that they are used on real terminals. Also added the use of color for certain display attributes for the 32-bit Windows version of the Client. The reverse attribute shows up as white on blue. The blink attribute shows up as white on red and the underline attribute shows up as blue on black. Where combinations of these attributes are used, blinking supercedes reverse which supercedes underline. For example, if both the reverse and blinking attribute were selected, the blinking attribute would be used - so you'd get white on red. ---------------------------------------------------------------------------- End of changes in version 1.40V version of product (December 2000). ---------------------------------------------------------------------------- 12-26-00: - Fixed a problem which prevented the Client from reading transactions from the logfile on startup. This problem occurred when the MAX_TRANSACTIONS keyword was being used in EMULATOR.INI and the capacity specified matched the current capacity of the logfile. ---------------------------------------------------------------------------- End of changes in version 1.40W version of product (December 2000). ---------------------------------------------------------------------------- 01-05-01: - Additional changes for handling of different screen sizes by the 32-bit Windows version of the Client (original changes made 12-07-00). Cursor positioning was incorrect and part of screen was getting cleared when scrolling. - Cursor positioning after scrolling was also a problem for DOS versions of the Client. That too has been fixed. 01-15-01: - Added new EMULATOR.INI keyword POWER_OFF_TIMER to allow the user to specify how long a terminal can remain idle before it is automatically powered off by the Client. The format is: POWER_OFF_TIMER = 3 where the value specified is the number of minutes. Each time a key is pressed or a scan is done, the timer resets to the full timeout value. This keyword is only valid for Symbol Spectrum 24 terminals - which don't have an easy way to configure this timeout. Most other terminals include this kind of configuration in the native firmware - outside the control of the Client. ---------------------------------------------------------------------------- End of changes in version 1.40X version of product (January 2001). ---------------------------------------------------------------------------- 01-19-01: - For the 32-bit Windows version of the Client, using colors for the reverse/blinking/underline attributes (as described for version 1.40V above) is now only done if the following keyword is included in EMULATOR.INI: COLOR_ATTRIBUTES = Y Otherwise the attributes are displayed as they were prior to version 1.40V. 01-22-01: - The DUMP MEMORY option on the DIAGNOSTICS MENU now handles file 0 (transaction program file) even when paging is in effect. The contents of all transaction programs that are in memory can now be viewed. For those programs that are not currently loaded in memory, the string "!!<1e>" is shown. - The TRACE LOG and DUMP MEMORY options on the DIAGNOSTICS menu can now have the output go to the serial port of Antares terminals. Prior to this, sending the output to the serial port did not work. 01-29-01: - Added new CFR API GetTerminalSettings(). It takes two parameter, a pointer to the new TERM_SETTINGS structure and a value indicating which settings should be filled in. At this time, only two settings can be obtained: SETTING_NUMROWS and SETTING_NUMCOLS. SETTING_ALL is also defined to get all available settings. The TERM_SETTINGS structure contains 'numRows' and numCols'. These can be used to find out the physical dimensions of the view port of the screen (e.g. 16x21 for PTC960, 20x40 for JANUS2050, 15x20 for INTERMEC6400, ...). In the future, if we find additional terminal settings need to be added to this structure, they will be added at the end and new SETTING_ values will be defined. SETTING_ALL will always be defined as a union of all the other SETTING_??? constants. Here's an example of the APIs use: ... UCHAR numRows; UCHAR numCols; int main(int func, char * parms) { TERM_SETTINGS termSettings; GetTerminalSettings(&termSettings, SETTING_NUMROWS | SETTING_NUMCOLS); numRows = termSettings.numRows; numCols = termSettings.numCols; ... } - Fixed minor problem for Antares terminals in a TCP/IP network in the situation where an ill-formed packet was received. The bad packet was not being discarded properly. This actually would only occur if the DCConnect Server or other server were actually generating the packets badly. (This problem was found when the terminal was talking to an echo server, not the DCConnect Server). - The version description string (shown in parenthesis in the title on the MAIN Client menu) now uses "ANT" for "Antares", "BAT" for "batch" and "UDP" for most TCP/IP versions of the Client except for those that actually use TCP stream sockets - like the Antares. - The GetTerminalAddress API no longer includes the port number for versions of the Client using TCP stream sockets (Antares) because the port number can vary each time the terminal connects with the DCConnect Server. 01-30-01: - Added the display of the message "SWITCHED HOSTS!" if the Client detects that a different DCConnect Server is talking to it. That message is followed by a message showing the IP address of the new host. ---------------------------------------------------------------------------- End of changes in version 1.40Y version of product (January 2001). ---------------------------------------------------------------------------- 02-01-01: - Copyright changed to 2001. 02-05-01: - When stepping through a transaction program, the next command now shows on the configured status row - instead of always using the last row on the screen. 02-07-01: - Fixed problem with GOTO/GOSUB command that caused a branch larger than 64K bytes to go to the wrong place in the transaction program file. This problem was introduced with the 10-23-01 change for support of FILE_PAGING in version 1.40T. It is not a problem if FILE_PAGING is in effect. ---------------------------------------------------------------------------- End of changes in version 1.40Z version of product (February 2001). ---------------------------------------------------------------------------- 02-14-01: - Ran out of letters for 1.40! ---------------------------------------------------------------------------- End of changes in version 1.41 version of product (February 2001). ---------------------------------------------------------------------------- 02-26-01: - Fixed the cause of a stack overflow error when using any of the ComXXX() CFR API calls on an Antares terminal. 02-28-01: - The menu options TRACE LOG and DUMP MEMORY now work properly to the RS-232 port for terminals that use a TSR for serial port support (Telxon and Symbol Spectrum 24). ---------------------------------------------------------------------------- End of changes in version 1.41A version of product (March 2001). ---------------------------------------------------------------------------- 03-05-01: - The menu options DUMP MEMORY and VIEW USER VAR were both improperly showing characters with hex values greater than or equal to 0x80. They now now show as < xx > where 'xx' is the hex value. Before the fix they showed as < ffx where 'x' was the first digit of the 2 digit hex value. This problem was introduced in version 1.40T - when VIEW USER VAR was added. 03-08-01: - Fixed problem running 32-bit Windows Client on Windows 95/98. Problem was introduced in version 1.40V. ---------------------------------------------------------------------------- End of changes in version 1.41B version of product (March 2001). ---------------------------------------------------------------------------- 03-30-01: - The DUMP MEMORY option can now view any validation file, not just 2-7. Meaningful names are now given for each file - instead of just 0, 1, 2, ... 04-04-01: - Added support for initiation of transaction 55 when data is received on the RS-232 port. If a transaction program is bound to position 55 ("055: RS-232 Port" in DCConnect), then if the terminal is idle (not running a transaction program) and any data is received on the serial port, the "055: RS-232 Port" transaction program will be started. Similarly, when any transaction program ends, if there is data remaining in the RS-232 input buffer, the "055: RS-232 Port" program will be started right away. It is therefore recommended that the "055: RS-232 Port" program take care to read all data from the port before it ends. Unlike 7527 terminals, when the RS-232 initiated program starts, the data from the serial port is not already in user variable 0. Instead the CFR API ComRead() must be used to retrieve all data that is in the Client's internal incoming RS-232 buffer. This is how the 7526 terminal handles RS-232 port initiated transactions. RS-232 port initiated transactions are not supported with batch versions of the Client - because of the conflict with the Client's use of the serial port to talk to the data collection server. When an RS-232 initiated transaction is bound to transaction 55, the terminal's serial interface is active at all times after the download completes, and the port is configured based on the RS-232 device parameters that are specified in the file 0 record 0 configuration that is downloaded. 04-04-01: - Fixed problem starting transaction program if NOOP is the first but not the only command in a transaction program. 05-07-01: - Fixed problem allocating/freeing validation files when FILE_PAGING is in effect and validation files are being swapped in and out of memory. This problem could manifest itself as a terminal lockup, 'invalid command' or 'parameter out of range' messages, or as a 'Download error - not enough memory available'. It might also cause downloads to fail with a message about insufficient space - even when a reboot of the terminal downloads successfully. 05-08-01: - Fixed an additional problem that could occur when FILE_PAGING is in effect. At times, an attempt to start a transaction program would result in no action (and no error message either) if that program could not be loaded into memory - even though total available memory was sufficient. A change to the use of compiler memory allocation functions resolved the problem. ---------------------------------------------------------------------------- End of changes in version 1.41C version of product (May 2001). ---------------------------------------------------------------------------- 05-31-01: - Added to CFRAPI24.H #definitions for PAGEDOWN_KEY, PAGEUP_KEY, HOME_KEY, BACKTAB_KEY, INSERT_KEY and DELETE_KEY. Also typedef for BOOL is no longer included when building Windows CFRs. 06-04-01: - Found that when using the arrow keys to scroll, if the screen width was 40 and the right arrow was pressed, the screen would be repositioned back at row 0 no matter where it was. - When 'Echo to Display' is turned off for an input field, we now show an asterisk (*) for each character that has been entered. We used to show a blank. 06-06-01: - The POWER_OFF_TIMER keyword for EMULATOR.INI that was added in version 1.40X for the Symbol terminals is now available for Intermec 6400 terminals. Both ETSPT.EXE (from TCP_FTP directory) and 6400_TSR.EXE were updated. 06-07-01: - Lots of enhancements for the CE versions of the Client: - Added support for the Intelligent Instrumentation LanPoint CE - Font now adjusts based on the NUM_ROWS and NUM_COLS keywords. When closest font doesn't use whole screen, gray border is drawn. - Extended keys now work (arrows, home, F1-F10, insert, delete) - Arrow keys now scroll screen contents when screen dimensions are less than 20x40. - Menu options are grayed when another menu option is in progress - Dump File option updated with same enhancements made in 1.41C for all other flavors of the Client. - COM1 now works (actually called COM1: in Windows CE) - DUMP MEMORY and TRACE LOG memory options now work to COM1 at 19200, 8, None, 1. - Improvements in performance for screen updates. - Cursor now properly sized, positioned and not visible when not in visible portion of screen. - Fixed the DUMP MEMORY and TRACE LOG options for Antares so that when they write to the serial port they now use 19200 just like all the other flavors of the Client do. - DUMP MEMORY and TRACE LOG options now work for 32-bit Windows Client too. - The Antares terminal will now return the bar code type in the data (byte 0) returned by a SenRead() CFR API call. Before this change the returned bar code type was always 0xff. Note: the Antares does not distinguish between EAN and UPC; UPC is returned when either an EAN or UPC code is scanned. - Added to CFRAPI24.H the constants CODE_49, CODE_16K and PLESSEY as possibilities for the bar code type. - For Symbol Spectrum 24 terminals, we now return MSI bar code type properly. We used to return 0xff. 06-08-01: - The 32-bit Windows and Windows CE versions of the Client can now run multiple copies from the same directory, provided that the port number is specified on the command line using the -P option. In this situation, the logfile name will be based on the port number (e.g. DCC07501.LOG and DCC07501.NDX) and the local copy of a downloaded CFR will also have a name based on the port number (DCC07501.DLL). If the port number is not specified on the command line, then the names LOGFILE.LOG and LOGFILE.NDX are used for the logfile. Note 1: Even if TCPIP_PORT is specified in EMULATOR.INI, the value for that parameter is not known at the time the logfile is initially processed because the logfile processing is done before EMULATOR.INI is read. Note 2: Command line parameters take precedence over their counterparts that might be found in EMULATOR.INI. - The TCP/IP versions of the Client will now exit with ERRORLEVEL set to 1 if there is an error trying to create a socket or bind to it. This was done to allow a batch file to detect if the Client had a TCP/IP error so that it could try a different port number. ---------------------------------------------------------------------------- End of changes in version 1.41D version of product (June 2001). ---------------------------------------------------------------------------- 06-13-01: - Fixed problem positioning cursor for scan only fields when Enter was pressed and the Client was running on a PC that was not able to get distinguish scanned input via a TSR or via the use of the keyword SCAN_SENTINEL_CHARS. The cursor positioning problem would also occur for AK and NK commands when Autofill was not active. Also found autofill was not even properly being allowed for the NK command. - Added new constants to CFRAPI24.H for serial port configuration values for baud rate, parity, data bits and stop bits. The new constants match the old constants except that they have CFR_ as a prefix. The old constants are still in the file for use when building 7524 or DOS CFRs. But for Windows CFRs, the CFR_???? constants must be used because some of the others conflict with constants in winbase.h. The CFR_??? constants are also available when building 7524/DOS CFRs. So the same source can be used to generate DOS/7524 and Windows CFRs that talk to the serial port. 06-14-01: - Added ability to read scanner input from the serial port by adding a new parameter to EMULATOR.INI: USE_RS232_FOR_SCANNER = Y By default, it is expected that each scan received from the serial port will be terminated with a carriage return character (ascii value of 13 in decimal). However, you can specify an alternate terminating character by replacing the Y above with the decimal number for the ascii value of that character. For example, if the terminating character will be a line feed (ascii value of 10 in decimal), you would use: USE_RS232_FOR_SCANNER = 10 When using the serial port for the scanner, the port is configured based on the RS-232 device parameters that are downloaded to the terminal. These are configured in DCConnect from the Terminal Settings notebook, on the Devices tab, RS-232 device page. In this mode, the serial port is only turned on when scanner input is expected. That is - when a DB, FB, KB or VB command is waiting for input or when a READ command that specifies SN or SA is waiting for input. Also, for the entire duration of any CFR call, the scanned input could occur at any time, so the serial port will be active then as well. ---------------------------------------------------------------------------- End of changes in version 1.41E version of product (June 2001). ---------------------------------------------------------------------------- 08-08-01: - Fixed problem with use of RS-232 initiated transactions. When CFR calls were made to read the port, the port was unnecessarily closed and reopened - resulting in the resetting of the input buffer and thus possibly resulting in the loss of some data that had been read. 09-21-01: - Added support for the keyword TIMEZONE_ADJUST in EMULATOR.INI. This keyword is primarily intended for use when the DCConnect Client is running in a Citrix environment. For all the details please see the section about TIMEZONE_ADJUST in the DCConnect Client documentation. ---------------------------------------------------------------------------- End of changes in version 1.41F version of product (September 2001). ---------------------------------------------------------------------------- 11-14-01: - The location of all files used by the Client on the device can now be specified using the environment variable DCCLIENT - except on Windows CE devices. For Windows CE devices use the registry key: HKEY_LOCAL_MACHINE\SOFTWARE\IBM\DCConnect Client\path For non-Windows CE devices, if the environment variable is not defined, the files are looked for/created in the current directory. Because Windows CE does not support environment variables or the concept of the current directory, if the registry key above is not defined, the files are looked for/created in the root directory of the CE device. The files affected are: - ETSCHECK.LIC - EMULATOR.INI - LOGFILE.LOG and LOGFILE.NDX (used for storing transactions) - All files that are 'paged' to disk during download - The CFR DLL that is written to disk during download (32-bit Windows and CE only) 12-06-01: - Windows CE only: Added support for the keyword SELECT_FONT which is used to specify which font the Client should use on the terminal. For all the details please see the section about SELECT_FONT in the DCConnect Client documentation. The name of font in use can be found on the second page of the View Settings screens. - Windows CE only: Created the 'Diagnostics' pull-down, moved the 'Trace Logfile...' and 'Dump Memory...' options to it. Then added the missing 'Start Stepping...' and 'View User Variables...' options to it. - Windows CE only: Added support of reverse video. - Esc can now be used to exit the Transaction Count screen. 12-18-01: - Fixed problem parsing EMULATOR.INI when comments were at the end of a line. Also fix bug printing error if TIMEZONE_ADJUST value was invalid. 01-03-02: - Windows CE only: Fixed problem where menus would sometimes disappear if the Client were moved to the background and back. - Windows CE only: Pressing X to close now results in a confirmation pop-up. - Menu titles are now centered based on number of columns defined. 01-07-02: - Added support for MENU_PASSWORD keyword in EMULATOR.INI - which, when used, requires the user to enter the correct password before gaining access to any menu option. See the documentation for all the details. This is valid for all flavors of the Client. 01-08-02: - Windows CE only: Added support for the MENU_ITEM keyword in EMULATOR.INI. This allows for new menu items to be added to a new 'User' pull-down. These menu items are tied to user-created functions in a DLL, ETSUSER.DLL. See the documentation for all the details. 01-11-02: - Better checking for invalid command - especially when APNDSTR has invalid length. 01-16-02: - Fixed problem when using TIMEZONE_ADJUST. An adjustment back to the midnight hour (00) was incorrectly setting the hour to 24. ---------------------------------------------------------------------------- End of changes in version 1.41G version of product (January 2002). ---------------------------------------------------------------------------- 01-24-02: - Batch versions of the Client that are doing dial-up will now wait up to 10 seconds to see if the line is already connected to the DCConnect Server before dialing. This allows the same terminal to be plugged into a dock with a dedicated line or a dock that requires dial-up to establish the connection. 01-29-02: - Windows CE only: Added support for FULL_SCREEN keyword in EMULATOR.INI. See the documentation for all the details. Added button to toolbar for toggling software keyboard. 02-05-02: - When SHOW_IDLE_TIME was being used and NUM_COLS was used to override the default number of columns, the time would still be shown based on the default. This has been fixed. - Windows CE versions of the Client now use an icon that looks like a barcode. 02-19-02: - Windows CE only: fixed problem handling MAX_TRANSACTIONS parameter. This was introduced with the 12-06-01 change to support the SELECT_FONT keyword in EMULATOR.INI. 02-21-02: - The scanner is now turned on when the Client exits. This allows testing of the scanner at the DOS prompt on an Antares and other terminals. 02-21-02: - Fixed problem showing message on startup if the MAX_TRANSACTIONS parameter was out of synch with the current logfile size and the fact that transactions were in the logfile prevented the Client from changing the size. ---------------------------------------------------------------------------- End of changes in version 1.41H version of product (February 2002). ---------------------------------------------------------------------------- 02-27-02: - Added support for new EMULATOR.INI keyword IGNORE_UNDERLINE for support of LXE's MX2 terminal and the PSC/Percon Falcon terminal (same physical terminal). Must set equal to Y, otherwise text that is supposed to have the underline attribute (such as the menu titles) will not be visible. See the documentation for a complete description of this keyword. - Added support for new EMULATOR.INI keyword DONT_CHANGE_SCREEN_SIZE for support of LXE's MX2 and VX1 terminals and the PSC/Percon Falcon. Must set equal to Y, otherwise the Client might change the screen size inappropriately. The Client already does this when the device type is set for certain devices such as JANUS2010/2020, PTC960, MAXILAN and FMT10X0. See the documentation for a complete description of this keyword. - Fixed problem that caused a lockup on the LXE MX2 terminal. Client was making a TSR call to set up the scanner even when the keyword USE_TSR_FOR_SCANNER was not being used. 03-06-02: - Added support for new EMULATOR.INI keyword PF_AUTO_ENTER which tells the Client to assume an Enter key has been pressed after any PF Key is pressed during a READ command for which PF Key input is allowed. This is true even when the PF Key String associated with the pressed PF Key is 0 length. The Client now gives an alarm beep if you try to press a key for a PF key number that exceeds the current value of NUM_PF_STRINGS. This applies only to READ commands with PF Strings defined as a valid input 'device' - not using PF Keys in ONKEY/ONSUB commands or to start a transaction program. 03-14-02: - Fixes to prevent Windows versions of the Client from trapping if an invalid CFR is loaded. 03-29-02: - The CFR packages (CFRUTL24.ZIP, CFRSMP24.ZIP and CFRPAN24.ZIP) are now set up to use the environment variable CFRTOOLS to find the .H and .LIB files. 04-19-02: - Fixed problem in DOS versions of Client where startup error messages (e.g. for missing license file) would not show properly. 05-03-02: - Added support for USE_TSR_FOR_KEYBOARD keyword in EMULATOR.INI and created falc_tsr.exe for use with the PSC/Percon Falcon terminal and its twin the LXE MX2 terminal. The use of this TSR is required in order for the Client to be able to distinguish between keyboard and scanner input on these terminals. This keyword must be used with USE_TSR_FOR_SCANNER. See the documentation for all the details. 05-03-02: - The specifying of a MENU_PASSWORD in EMULATOR.INI no longer affects the Txtn Count menu option. 05-10-02: - Fixed problem showing startup messages on Windows CE - for example: when the TCP/IP port is not available. 05-10-02: - Removed some debug message generation for COM READ errors in WIN32 version of Client. 05-14-02: - Fixed problem with transaction logfile and index file sizes on Windows CE devices. 05-15-02: - Windows CE only: The MENU_ITEM keyword now allows an optional password parameter. ---------------------------------------------------------------------------- End of changes in version 1.41I version of product (March 2002). ---------------------------------------------------------------------------- 06-06-02: - Version bumped up to 2.00 for release of new CD 06-06-02: - Added support for MENU_KEY keyword in EMULATOR.INI in order to override the use of ?, = and Home for bringing up the Client menus. See the documentation for a complete description. 06-06-02: - The MENU_PASSWORD for DOS and 32-bit Windows version of the Client is now required when any option other than VERSION INFO and TXTN COUNT is selected from the Main Menu. Of course if MENU_PASSWORD is not defined in EMULATOR.INI, no password is required. 06-13-02: - Windows CE only: the Client now handles the pressing of the extra X button on the upper right corner of terminals that are loaded with Pocket PC 2002. - Windows CE only: if a second copy of the Client is started it will now locate the first copy and bring it to the foreground and the second copy will end itself. 06-19-02: - For 32-bit Windows flavor of the Client fixed problem setting time on Windows 95/98/Me systems (wasn't being done at all because a non-supported function was being called to set privileges). - For DOS flavors of the Client, corrected problem where time would be off by an hour during daylight savings time transitions. Had to request time directly from DOS instead of using C function. ---------------------------------------------------------------------------- End of changes in version 2.00 version of product (June 2002). ---------------------------------------------------------------------------- 06-25-02: - Windows CE only: For the 6-13-02 fix to handle the extra X button in Pocket PC 2002, the Client no longer goes through the exit process when the button is pressed. This is because the message sent by the pressing of the extra X button is also sent in other situations which have nothing to do with exiting and the Client has no way to tell the difference. So the Client will merely ensure that it is in the foreground. Before the 6-13-02 fix, pressing the X button would move the Client to the background. 08-01-02: - Fixed problem with backspace when getting user variable number on the View User Var screen. - Fixed problem where serial port could be shut off in the middle of a dial-up attempt. ---------------------------------------------------------------------------- End of changes in version 2.00A version of product (June 2002). ---------------------------------------------------------------------------- 08-15-02: - Length of phone number for modem dial-up can now be 120 characters. 08-20-02: - Fix for FLSHBLD.EXE - was not self-extracting properly. - MAKEHEX.BAT (part of FLSHBLD.EXE for Symbol Spectrum 24 terminals) now copies EM.HEX to xxxxx.HEX where 'xxxxx' is the parameter passed in to MAKEHEX.BAT. LOADTERM.BAT (also part of FLSHBLD.EXE) now takes the same parameter that MAKEHEX.BAT takes. 08-21-02: - If none of the keywords SCAN_SENTINEL_CHARS, USE_TSR_FOR_SCANNER or USE_RS232_FOR_SCANNER were being used, the Client would do auto-filling for READ commands that were variable length and allowed scanning. The mistake was in the code that converted scanner reads to keyboards reads so that you could run transaction programs that had scan-only inputs on the Windows flavor of the Client, for example, even when you had no ability to scan from the PC. The auto-filling no longer occurs when it shouldn't. 08-22-02: - Decreased MAX_TRANSACTIONS parameter to 100 from 135 in the EMULATOR.INI provided in FLSHBLD.EXE for Symbol Spectrum 24 terminals so that we wouldn't have disk space problems when trying to start the Client. 08-23-02: - When a terminal comes out of suspend mode, the Client now does a few more retries to communicate with the DCConnect Server. This is because the first attempt to send the 'I-am-here' message to the Server can sometimes get lost while the terminal TCP/IP and radio drivers are reinitializing themselves during the resume process. 08-26-02: - Fixed problem switching transaction logfile sizes. Would not switch even when it was empty. Workaround was to delete the logfile and index file (e.g. LOGFILE.LOG and LOGFILE.NDX). - Added FLSHPREP.BAT to the self-extracting zip FLSHBLD.EXE for Symbol Spectrum 24 terminals. This is needed in order to load the DCConnect Client .hex file to the terminal any time after the initial load. - Fix for loading CFR on Windows CE devices ---------------------------------------------------------------------------- End of changes in version 2.00B version of product (August 2002). ---------------------------------------------------------------------------- 08-28-02: - Client is no longer terminated when it receives a break or terminate signal (e.g. when someone presses Cntrl-C). You may still see the ^C show up on the screen but a repaint of the screen will clear that up. 08-30-02: - Fix for problem with positioning of view port on the Intermec 6400. A call that the Client was making to obtain the current screen size was actually interpreted by the 6400 BIOS as a request to move the view port to the bottom of the screen. This problem was introduced with the 2-27-02 change to add support for the DONT_CHANGE_SCREEN_SIZE keyword. 09-26-02: - Fixed problem with the get user variable host command 'Q' for 32-bit versions of the Client (Windows CE / Windows 95/98/Me/NT/200/XP). Data corruption resulted in invalid response going back to the Server (part of TCP/IP message number was overwritten). ---------------------------------------------------------------------------- End of changes in version 2.00C version of product (September 2002). ---------------------------------------------------------------------------- 11-28-02: - Fixed problem for Symbol 38xx, 68xx terminals (spec24\etspt.exe) in the API SpkBeep and the host beep command (CMD 5). Due to an interrupt conflict, there could be a 10+ second delay whenever an attempt was made to beep the speaker. 12-03-02: - Added support for TSR_INTERRUPT keyword in EMULATOR.INI and the ability to pass in the interrupt value as a parameter for 6400_tsr.exe, falc_tsr.exe, s24_tsr.exe, and telx_tsr.exe. This was necessary for the PSC Falcon / LXE MX2 terminal where the use of default interrupt 0x6A caused the terminal to hang. (Found that interrupt 0x63 worked). 12-18-02: - Win CE only: Fixed problem where screen font would change after a certain period of usage - usually a day or two. ---------------------------------------------------------------------------- End of changes in version 2.00D version of product (December 2002). ---------------------------------------------------------------------------- 03-05-03: - Fixed problem with fast-clocking transactions when no program was bound to function 30. This was introduced in the 1.40T version of the Client. 05-21-03: - Added support for the POWER_OFF_TIMER keyword for PSC/Percon Falcon and LXE MX2 terminals by enhancing falc_tsr.exe. 08-14-03: - More updates to the self-extracting zip file FLSHBLD.EXE for Symbol Spectrum 24 terminals: after load to terminal, EM.BAT is now available to run from the DOS prompt in order to restart the Client - just like other devices. Symbol provided a new SCANPARM.EXE that fixed problems when trying to update the scanner symbology configuration. Default SCANPARM.INI is smaller. 08-27-03: - Fix for Windows and Windows CE flavors of the Client; there was a potential for an access violation during shutdown of the Client while trying to unload the CFR. 09-25-03: - We now build a flavor of the Client for devices with an ARM processor (and compatible) running Windows CE 3.0 (and compatible later versions) without Pocket PC. Two such devices are the Symbol 88xx and the MA 1000 from Group Mobile. The executables for this flavor of the Client are in the .\ARMNOPPC subdirectory where the Client is installed (akin to .\IMEC700, .\LANPTCE, ...). ---------------------------------------------------------------------------- End of changes in version 2.00E version of product (August 2003). ---------------------------------------------------------------------------- 10-02-03: - Added new EMULATOR.INI keyword, UV_POOL_SIZE, which allows you to specify how much space is allocated for storing the contents of all user variables (0-99). In the past each UV took up 128 bytes of memory regardless of the actual content; so the 100 UVs consumed 12800 bytes of memory even if all were empty. Now a default pool size of 10000 bytes is used for all user variables; only user variables that contain data actually consume space in this pool. The UV_POOL_SIZE can be from 1000 to 99999 bytes. Of course the amount of RAM in the device places a limit on the practical maximum. The following command in EMULATOR.INI sets the UV pool size to 5000 bytes: UV_POOL_SIZE = 5000 Note: as part of this change, individual user variables are no longer limited to 128 bytes. However, the transaction record and the amount of user variable data that can be sent to the terminal and received from the terminal is still restricted by previous limitations. Work is in progress to increase these other limits as well. 10-07-03: - Fixed possibility of a trap in 32-bit Windows version of the Client if certain keys, such as the Home key, were pressed on certain menu screens - such as the VIEW USER VAR screen. ---------------------------------------------------------------------------- End of changes in version 2.00F version of product (October 2003). ---------------------------------------------------------------------------- 01-14-04: - Fixed cause of problem where a "Message 5 not found" message would flash briefly when a download was done during a fast clocking interval. 03-16-04: - New keywords for EMULATOR.INI: ABORT_READ_ON_RS232_INPUT and ABORT_ONKEY_ON_RS232_INPUT can be used to interrupt a READ/ONKEY command that is waiting for user input should data be received on the RS-232 port. - The CFR API ComQueryData now properly returns the number of bytes available from the serial port. ---------------------------------------------------------------------------- End of changes in version 2.00G version of product (March 2004). ---------------------------------------------------------------------------- 04-30-04: - Fixed problem handling 7 character passwords on Windows CE. 04-30-04: - ALL_SCAN_DATA_UPPER_CASE now works when USE_TSR_FOR_SCANNER is in effect. 06-01-04: - For the -h command line parameter and the TCPIP_HOST keyword in EMULATOR.INI, the hostname of the DCConnect Server can now be specified instead of its IP address. For example, in EMULATOR.INI, if the Windows flavor of the Client is running on the same PC as the Server, the DCConnect server and port could be specified as: TCPIP_HOST = localhost, 7500 Also a colon can now be used instead of the comma: TCPIP_HOST = localhost:7500 06-01-04: - Added support for the Intermec CK30, Intermec CV60 and Symbol MC 90xx terminals. 06-01-04: - Add a number of transaction programming enhancements. Please refer to the DCTPB User's Guide for more details about each of these: - New SET and SETSTR commands to go along with APND and APNDSTR commands. These new commands clear the target before appending the data. - The commands CURS, CLRP and SHOW can now use the relative row/column indicators PREVIOUS_ROW, NEXT_ROW and PREVIOUS_COLUMN, NEXT_COLUMN instead of absolute row/column values. - New MATH commands for performing the following operations: + - \ * / % (last two are integer divide and modulus) Numeric constants and fractional values are allowed. - New options for the FRMT command (similar to TC): - STRIP_LEADING_CHARS - STRIP_TRAILING_CHARS - STRIP_ALL_CHARS - TAKE_LEADING_CHARS - DROP_LEADING_CHARS - TAKE_TRAILING_CHARS - DROP_TRAILING_CHARS - PAD_LEADING - PAD_TRAILING - TAKE_MID_CHARS - DROP_MID_CHARS - UPPER_CASE - CUSTOM_STRING - CUSTOM_INTEGER - CUSTOM_FLOAT - ONKEY/ONSUB now allow nearly any key using the syntax ASCII_nnn or EXTENDED_nnn or one of the new keywords such as KEY_ENTER, KEY_SPACE, KEY_CANCEL, ... - The CLRP can now take a 4th parameter specifying how many rows should be cleared - each being cleared starting at the same column for the same number of columns. - Many commands now allow global variables/local variables/ parameters instead of hard-coded values or strings: - AKA - TransID - APND/SET - Field number - Position - Length - CCFR - Parameter string - CLRP - Row - Column - Length - - # of rows - CURS - Row - Column - DLAY - # of Seconds - FRMT - Length - Right Strip Char - Left Strip Char - Fill Char - READ - Length - SHOW - Row - Column - Multiple variables (including global, local and parameters) can now be cleared in a single CLRD command. - Subroutines can now be passed parameters and return data using new SUB/ENDSUB command. Up to 92 parameters can be passed. Parameters passed into a subroutine may be global variables, local variables, parameters from a parent subroutine, the return code variable, numeric constants or text constants. - Support for up to 92 local variables (new Declare command) for each transaction program and each subroutine. - New return code user variable that can be set via the RETURN command or explicitly manipulated like other variables. - CFRs can access local variables, parameters and the return code variable in the same way that it can access global variables. 06-01-04: - The FULL_SCREEN keyword can now be used for Windows CE devices that do not have Pocket PC installed. 06-01-04: - New HIDE_MENU_BAR keyword available for Windows CE devices that need to maximize the amount of the physical screen that is available for transaction programs. When in effect, menus can be brought up using the same methods available for DOS and 32-bit Windows flavors of the Client. 06-09-04: - Fixed problem where transaction resend timer would only be kicked off once, thus resulting in only two send attempts for transactions. ---------------------------------------------------------------------------- End of changes in version 2.10 version of product (June 2004). ---------------------------------------------------------------------------- 06-17-04: - The SET command did not clear the target when the source was empty. 06-21-04: - The APND/SET commands now allow a variable / subroutine parameter for the delimiter. 06-22-04: - The download of a single validation file now ensures that any paged validation files and paged transaction programs are unloaded before attempting to allocate memory for the new validation file. ---------------------------------------------------------------------------- End of changes in version 2.10A version of product (September 2004). ---------------------------------------------------------------------------- 10-06-04: - Added ability to view parameters on the VIEW USER VARS screen. 10-08-04: - Fixed misalignment exception on Windows CE devices with certain processors. 10-11-04: - For Symbol Spectrum 24 terminals (e.g. PTD6840, VRC6940, WSS1040) had to remove support for allowing a hostname to be provided for the TCPIP_HOST keyword and the -h command line parameter. With this support included, the resulting executable for the DCConnect Client was too large to run properly. ---------------------------------------------------------------------------- End of changes in version 2.10B version of product (October 2004). ----------------------------------------------------------------------------