Documentation Update

Product:   Comet2010Install438.exe

Version:   Comet16/32 2010 Build 438

Date:      April 29, 2011       Download the latest release now!

Comet32:

1.	Corrected a problem which could have caused a hang when getting the result from an API call.
	
2.	Corrected a problem that could hang Comet if an ENTERed program wrote to a DES-controlled
	printer and didn't close the printer before EXITing.

3.	Corrected some problems in COMMON passing from one C32 program to another.

4.	Corrected a problem in processing editmasks that could have caused a crash.

5.	Corrected a problem that could cause a crash if a CONTROL was issued on a LUN that wasn't open.

6.	E46 is now issued if invalid characters are encountered in numeric fields.

7.	DSTAT of a device whose name begins with "C" acts like dstat("CL1").

Comet16:

1.	Corrected a problem which could have caused a hang when getting the result from an API call.
	
CosW:

1.	Fixed a probem with the toolbar which could cause a crash on some machines.
	

Changes in previous releases: Build 437 Comet32: 1. Corrected problem that could have lead to a crash because some system variables were not initialized at startup. 2. Corrected a problem in the use of DES programs when the first write included a control. 3. Corrected problem that could have caused an invalid path on a busy system which could have resulted in erroneous E61 or E11. 4. Fixed a problem in FORMATed READ to an array element. Now the correct element will get the data. Previously the first element would get the data regardless of which element was specified in the FORMAT. 5. Enhanced the IB PRINT statement to allow IB expressions in PRINT lists. Comet16: 1. Corrected a problem introduced in .432 that could have corrupted print jobs from CometAnywhere clients. CosC: 1. Eliminated a situation that could have resulted in a hang. A symptom of the problem is an error message referencing a "pure virtual function" call. Build 435 Comet32: 1. Changes in the way COMMON may be passed between programs: - Common passing between Comet16 programs and Comet32 programs containing MULTI dimensional arrays won't pass the array. - If both programs are Comet16 or Comet32, common passing will work fine. - Single dimension arrays will be passed between Comet16 and Comet32 programs, although the zeroeth element will be lost. 2. Use of arrays in programs compiled with Comet32 has changed. Any Comet32 program using arrays should be recompiled with the .435 (or higher) Comet32 compiler. If Comet32 encounters an array reference from an older object you will now be issued an Error 74 which will tell you a recompilation is necessary. 3. Variable subscripted array elements are now allowed in a PRINT list. 4. Corrected problems doing arithmetic using array elements. 5. The (BZ) mnemonic now works properly in Comet32 programs. CosP: 1. The CosP.log file is now stored in the $(LOGS) folder. Build 434 Comet32: 1. Corrected a problem that could have skipped a (FF) if it was the only item in the FORMAT. This effects Comet32 objects only. 2. Corrected a problem in CREATE when using a variable for the record size. The value was getting truncated if the variable was declared as larger than 4.0. 3. Corrected a problem in detecting an invalid array index. 4. Made formatted read/write using repetition count act the same as Comet16 in that any element with a subscript of 0 will be ignored. If the first element used in the format statement has a subscript of 0 and there is a repetition factor present, Comet will produce an excp=50. If no repetition factor is present in the format item, any element of the array can be used. 5. Removed the stack dump code when reporting Comet errors. It is still used in the event of a Comet crash. CosW: 1. Eliminated a crash which could occur if multiple sessions were started in quick succession. Build 433 Comet Log files 1. A new $(LOGS) alias has been created for a folder which will contain miscellaneous log files produced by Comet. Comet32: 1. Comet Error E09 will now be issued if an invalid character is detected in a filename. 2. Corrected a problem for READ into a FORMAT that contained either constants or system variables. The fields were not being pulled from the correct position in the record buffer. 3. Corrected a problem that could have skipped a (FF) if there was data before it in the FORMAT. This effects Comet16 objects only. 4. If Comet32 crashes it will attempt to create a log and minidump which will help us track down the source of the problem. These files can be found in the $(LOGS) folder. CosC: 1. If there's no /LOG command line argument, CosC will now save the Comet.log file in the $(LOGS) folder. If you are using /LOG the log remains in the Windows temp folder. CosW: 1. Corrected a problem that could have created a CATOOLS folder as CAFILECATOOLS (i.e. missing "\" before CATOOLS). This was happening during CopyFile with "create alias". Comet.exe: 1. Now copies the mySQL .dlls. This was an omission that would cause an error when first instantiating mySQL. Build 432 CosW: 1. Changed the location of the CATEMP folder to under the user's Windows temp folder (%Temp%\CATEMP). This should ensure accessibility and shortens the pathname for Comet16 which has a limit of 60 characters. .431 users may have gotten an error message "A partition has more than one controlling terminal" if their pathname was too long. You will also notice that you are no longer able to manually set the pathname to a different one of your choice. 2. Changes along with CosP to ensure visibility of the popup dialog for selection of "?" printers. CosP: 1. Changes along with CosW to ensure visibility of the popup dialog for selection of "?" printers. 2. Eliminated intermittent crash during printing. 3. Eliminated 45 second pause when using (SpoolMessage). Comet16: 1. Now caches printer writes for CometAnywhere clients to speedup printing. Comet32: 1. Corrected a problem with WinSock gateway timing. 2. Now allows INPUT into MESSAGE$, DATE$, HELPKEY$, DAY$. 3. The key value is now indicated in ErrorLog.csv for Error 32. 4. DATE$ is now refreshed when DSTAT of the clock is done. 5. Added write functionality to mySQL. 6. The /keyfile Comet command line argument now works. 7. Corrected a problem with font initialization for pdf printers. 8. ACTIVATE corrected to use only partitions configured for background. 9. The SUB function will now default to starting position of 1 if the value supplied is less than or equal to zero. 10. E50 is now issued for an out of range subscript value for a Comet16 object. 11. Corrected a problem preventing hyperlinks from working in some cases. 12. Divide by zero errors are no longer logged to ErrorLog.csv. CosM32: 1. Corrected a problem that was issuing an error for a duplicate definition if the variable was ROUNDed. 2. Corrected a problem that could have issued an erroneous error 23: No space to evaluate expression. 3. Corrected a problem that could have issued erroneous compilation errors in very large programs. Build 431 Comet16: 1. New (SessionTimeout) mnemonic will automatically shutdown a session after a specified number of minutes. This requires REL version 11.03 or higher. Comet32: 1. New (SessionTimeout) mnemonic will automatically shutdown a session after a specified number of minutes. This requires REL version 11.03 or higher. 2. Corrected a problem that could have caused a crashed in the printer event handler. 3. WAKEUP and PAUSE can now be interrupted by F3. 4. Changed the way the Windows printer selection dialog is displayed so that it will be on top of other windows. Build 430 Comet32: 1. Corrected a problem in ROUNDing the result of numeric calculations. 2. Corrected the implementation of some mnemonics including (CopyFromClipboard) and (CopyToClipboard) 3. E50 no longer erroneously reported for array dimension sizes > 255 4. CosM32 compiler now allows use of characters with a value greater than @7f@ in string constants. Use of these characters elsewhere will be ignored and treated as if blank. 5. Each partition now gets is own instance of CosP to eliminate a TCP/IP printer problem. 6. Now uses a cache when printing to a CometAnywhere printer to speedup processing. This change requires supporting changes in CosW. CosP: 1. The /DEBUG feature is no longer relevant with Comet32 because each partition starts it’s own version of CosP. Use the COSW.INI [Printers] Log=1 technique instead. 2. Additional logging to CosPerr.log for the document copy process. 3. The "?" printer dialog is now displayed by CosW instead of CosP which should correct some problems with the visibility and focus of the dialog. Build 429 Comet32: 1. Corrected a problem calculating the address of an element in a multi-dimension array. Comet16: 1. Corrected a problem of an erroneous E25 compilation error message following a complicated mathematical expression. Build 428 Comet32: 1. Corrected a problem that could have caused a crash if an array subscript was out of range. 2. Corrected a problem that could have put garbage text in the "User" field of a document archive record. This garbage would be seen in DocMgr. 3. The Next User Address and Last System Function fields reported by PSTAT are no longer converted to decimal values. 4. Increased the size of a normalized pathname to 259. The previous limit was 60. CometExplorer: 1. MAINT now supports CometAnywhere and will not timeout after 30 seconds. The NEXT and PREV buttons are now properly enabled after a search. Reminder: Search requires file server version 11.0 or higher. Build 427 Comet.exe 1. Corrected a problem that resulted in an extra trailing backslash for the Comet alias on Windows 7 computers. Comet32: 1. Corrected a problem in the NUM function for result fields with a non-zero precision. 2. Corrected a problem in the MOD function. 3. Comet would hang after an E16. This has been corrected. 4. Now uses the "C/R same as Qantel" cfig setting. 5. The user's id field is now set for print jobs destined for an archive. This allows DocMgr to display it. CosM32: 1. Corrected a bug in the SELECT statement when using an expression as the CASE. 2. Added % as a synonym for MOD. 3. Attempt to assign the result of a function to the wrong type of variable is now detected. 4. New DayName and MonthName functions were added to replace the original Day and Month functions. They return a string description of the day and month. The Day and Month functions now return the numeric representation of the day and month. CometExplorer: 1. A new SearchFile option as been added for extended keyed files in Maint. This requires file server version 11.0 or higher and is only for full Comet sessions at this time. NOTE: Searches that require longer than 30 seconds may timeout. We are working on a solution to this problem. Build 426 Comet16 1. When writing a CSV file and the first strings were empty it was not putting out place-holders. Now it will generate one blank character in that place. Comet32: 1. Fixed a problem in passing system variables in the following scenario: ENTER a Comet16 program RUN a Comet32 program that does an EXIT. Previously this could have caused a crash. 2. Fixed problem in the DOSRW call used to get the device descriptors. Previously you could only get the first 254 devices. 3. Changes to FSTAT for compatibility with Comet16. 4. When writing a CSV file and the first strings were empty it was not putting out place-holders. Now it will generate one blank character in that place. CosC: 1. Changes to make sure the aliases are created in the correct folder. CosP: 1. Corrected problems with RAW "?" printers. Build 425 Comet.exe: 1. Fixed a problem in determining whether the MS VS 2008 Redistributables need to be installed. 2. Now will install the MS VS 2008 Redistributables for CA clients automatically. Comet32: 1. Introduced new date functions. 2. Implemented DOSFC for mkdir. 3. Corrected a problem that would crash if you attempted to log out of Comet while background programs were running. 4. Corrected a problem with the NUM function that was reporting an error if the field contained a trailing blank. 5. Enhanced the NUM function so that it accepts special characters such as ,.()-+ in the input string. 6. Corrected problems with the INPUT statement that doesn't require transmit marks (ie the new INPUT). 7. Now reports E74 if a Comet32 IB object file is corrupted. 8. Comet exception reports for CometAnywhere clients now appear on the client instead of the host. CosW: 1. Corrected a problem that could have caused crashes or "out of memory" errors associated with extended windows. 2. When COSW starts up it will ALWAYS validate system aliases (CATEMP, CATOOLS, etc.) for write-ability. Other user-created aliases will not be validated as it is possible that read-only aliases are required by the application. 3. In the past by default, aliases were established in the CAFiles folder which was created in the folder from which COSW.EXE was executed. This is no longer the case. From now on the CAFiles folder will be created below the <UserName> Signature Systems folder. This folder will be located differently depending on the version of Windows: Vista/Windows 7 User: C:\Users\<UserName>\AppData\Local\Signature Systems All Users: C:\ProgramData\Signature Systems Windows XP User: C:\Documents and Settings\<UserName>\Application Data\Signature Systems All Users: C:\Documents and Settings\All Users\Application Data\Signature Systems 4. When starting COSW, if a Cosw.ini file is not present in the <UserName> Signature Systems folder, COSW will look for a Cosw.ini file first in the “All Users” folder and then the Windows folder. Whichever it finds first will be copied to the <UserName> Signature Systems folder after which all of the aliases will be validated for write-ability. If the alias cannot be written then it will be removed from Cosw.ini. Following migration aliases that were removed should be re-established when used. Please note that any intentional read-only aliases will be removed during validation and thus must be re-established afterward. Non-system alias’ will be validated one time only following migration. The original Cosw.ini files will not be deleted during migration. It is recommended that once migration has been validated, the old Cosw.ini files are removed. Build 424 Comet32: 1. FSTAT now returns E11 if the file is not found and a directory was not specified. It returns E31 if an invalid directory is specified. 2. Corrected a problem with num2date(0,5). It was returning a blank string. 3. Background sessions now inherit the activating partition's printers, including # printers. 4. Corrected a problem with editing numbers which used (LM) in a FORMAT. 5. Corrected a problem with editing numbers which used a length override in a FORMAT compiled for Comet32. 6. Corrected a problem with numtodate. Leading zeroes were not preserved. CosP: 1. An error indicator is now added to the DocMgr status for a document if an error occurs while copying it to the document archive. This change requires REL version 10.09 or higher. 2. It now replaces any invalid characters in the (SpoolMessage) used for a document's name with "_". Build 423 Comet.exe 1. Comet.exe will now run the Microsoft Visual Studio 2008 Redistributable installation when required for full Comet clients. Comet32: 1. Corrected a problem that could cause a crash if a printer (or other device) was open in a parent program and the LUN was reused for a file in the subprogram. 2. Corrected a problem with numeric editing which caused numbers to sometimes be truncated. 3. Corrected a problem that could have caused a crash when launching Comet32 automatically on 64-bit Windows systems. CosW: 1. Corrected a problem that could have caused a crash if the CometAnywhere host domain name was longer than 15 characters. This problem was introduced in .420. 2. The location of CosW.ini file has changed (again!) It's now under the user's local folder rather than All Users so each user gets their own copy. Depending on which version of Windows you're running you'll find it here: Prior to Vista look in Documents And Settings\%Username%\Local Settings\Application Data\Signature Systems Beginning with Vista look in Users\%Username%\AppData\Local\Signature Systems Build 422 Comet32: 1. Background partitions can now be ACTIVATEd. The X00 device is automatically open on LUN 0 for these partitions. (See item # 2 below for X00 enhancements.) 2. The X00 device can now do (CopyFile), (RenameFile), (EraseFile), (FindFirstFile), (FindNextFile), (FileStatus), (GetDirAlias), (SetDirAlias), (OpenClipboard), and (CloseClipboard). Previously these mnemonics could only be used with LUN 0 which excluded background partitions. 3. If a configured directory can't be accessed at startup you'll be notified through a messagebox and an error message will be posted in the Comet log. 4. The Msgbox IB function and statement can now be used in background partitions. 5. The delimiter used for .csv files can now be specified with the FILE (lun) DLM=char$ statement. 6. FILE (lun) NORMAL introduced to reset a file's access from CSV or XML back to normal. 7. Added new clipboard mnemonics (OpenClipboard), and (CloseClipboard). An error can occur if the clipboard is opened by another user and there is no good way to convey that in IB. Now you can use (OpenClipboard) first and test for that case and try again. The old method will still work but this is more reliable. Use of these mnemonics requires REL 10.08 or higher. 8. Added a new mnemonic (ClearBuffer) to clear the X00 buffer between writes. Use of this mnemonic requires REL 10.08 or higher. 9. CosC now detects 64-bit Windows and will launch Comet32 automatically. Build 421 Comet.exe 1. Now launches the installer for VS 2008 redistributables if necessary. Also detects if no /PN and no .cfg files and will attempt to run SYSGEN from REL. Comet32: 1. FSTAT now returns E11 if the file is not found and a directory was not specified. 2. Corrected a problem in the NUM function for Comet32 objects that wasn't returning an error if the last character in the string was invalid. 3. Corrected a problem in the STRING function for Comet16 objects that could have resulted in corruption of data in other variables. 4. Session colors specified in the configuration file are now used. CosC 1. Faster connection to CometLib. Build 420 Comet32: 1. Corrected problems with FPT and BASE64. 2. Numeric overflow errors (ERR 1) are now ignored just like Comet16. 3. Changes required to get CometExplorer's DirBuild to load. 4. Fixed a bug that caused a trigger event when resetting a timer that is not running. 5. Prevented the changing of a constant when inputting a list of fields. CosW 1. Fixed a problem with print screen using multiple monitors when running Comet. Comet.exe 1. Added several dlls and manifest files to support conversion to VS 2008 runtime. Build 419 Comet32: 1. Corrected a problem in passing numeric arguments to a proc. 2. CONTAINS result was reversing its TRUE / FALSE result. This has been corrected. CosM32 1. Corrected a problem with conditional compilation and procs. 2. Corrected a problem that could have reported error count of zero when there were errors found. Build 418 Workstation Install Program: 1. The workstation install program is now a self-extracting .zip file. This should simplify Comet installations and updates. 2. GdiPlus.dlx has been added to the list of .dll files installed. This is required for printing under Comet. Some Windows 2000 installations may not have this file and would result in errors. CometExplorer: 1. Added Merge/Append to the Copy utility. 2. Comet32 IB objects are now differentiated from Comet16 objects in the file list display. This enhancement requires Comet Server Products 10.2 or higher. Comet32: 1. Added a new SetTimer instruction. This causes an event to be fired to the program when a specified duration (in milliseconds) has passed. Build 417 Comet32 1. Corrected a problem with CosM32 that could have caused internal error 91 stack over/under flow error. This was introduced in version .415. 2. Introduced Cryptographic Support. This is a major enhancement to the encryption features of Comet. You can now encrypt/decrypt using the best methods known today including RC4, AES and 3DES. CosW 1. Listview sorting using numeric rules now sorts non-numeric or negative values as less than 0. Prior releases treated these values as zero and could mix them in with valid zero values. CosP 1. Now uses a longer timeout for completion of pdf copy (from 30 to 45 seconds). This timeout value is also now configurable in CosW.ini. Build 416 Comet32 1. Corrected a problem that was reporting E25 and E99 in some dialogs 2. Fixed a problem that was causing some Windows events to be lost 3. Corrected a problem that could have caused a crash when printing 4. Corrected a problem that could have caused a crash when using the First IB function to retrieve the first key of a file. 5. Changed the handling of the clock device to match that of Comet16. DSTAT of any name beginning with "c" will return the status of the clock. If you wish to OPEN the clock you must use a filename of "CL1". CosW 1. Corrected a problem that was preventing proper positioning of popup menus within tab contols. Build 415 Comet32 1. New XML file statement introduced to make it easy to output your data in XML format. For more info, read the XML Output wiki doc. 2. A couple of problems were fixed in SetGlobal and GetGlobal: - The data is now unique for each partition. - The data persists thru running of programs. Previously a STOP would clear it. Build 414 Comet32 1. Corrected a problem that could have caused a crash if an attempt was made to ENTER a program that doesn't exist. 2. Local pathnames are now returned in drive letter form even if the folder is configured using a UNC name. This effects PATH and DSTAT. Build 413 Comet32 1. Corrected a problem that could have crashed Comet32 if the SQL device was opened. 2. Added more info about DOS errors in Comet32 error messagebox. Build 412 Comet16 1. Connecting to certain addresses via the winsock gateway could have caused Cosh to crash. This has been corrected. 2. Introduced a spool alias for the spool section of the Comet.ini file. See below for details. Comet32 1. The size of the task buffer for mySQL has been increased to 64K. 2. Introduced a spool alias for the spool section of the Comet.ini file: [SPOOLERS] Spool = SP1,$(lac); ... [PRINTERS] Printer = Lac,p ,x,SPL:adobe ,Adobe PDF; This makes it possible to configure a printer called SP1. Previously all printer names needed to begin with "L". If your programs open "SP1" this makes it possible for them to be used with DocMgr without needing to recode them. Build 411 Comet32 1. Restored the functionality of dynamic ACCESSes which was broken in version .410. 2. Corrected a problem handling TERM$ values above T99. 3. The NUM function now handles ROUNDed variables correctly. 4. Trailing printer controls such as (FF) and (LF) were not getting processed. Build 410 Due to a production problem the .409 release didn't include all of the changes required for the CFAM correction. A symptom of this problem is that .409 CometAnywhere clients were not able to connect to CometLib. This has been corrected. COSW.INI 1. Older versions of Comet would store the COSW.INI file in the windows folder. Newer versions of Windows do not allow writing to files in that folder without Administrator privileges. Starting with Comet version 410, COSW now looks in Documents&Settings/All Users for the INI file and if not found, but found in the Windows folder, COSW will copy it into the All Users folder. Build 409 CFAM 1. In a terminal services / remote desktop environment it was possible that a user's CosC could have connected to another user's CFAM. This has been corrected. 2. Dynamically accessed dabs weren't being seen by CometLib. This has been corrected. COSW.INI 1. If the CosW.ini file does not exist yet it will now be set up to use Windows colors. ODBC 1. Added an option to hide the odbcdrv.exe message window. Build 408 CosP 1. New image library installed to better handle the lossy jpg format for print images. Build 407 mySQL 1. This is the first release of the mySQL driver. For more information read the wiki doc and check out the sample programs. CosW 1. Corrected a problem in CopyFile. The file would not get copied if CopyFile needed to create a dir alias folder on the client. Build 406 First beta release of Comet 2010.