Documentation Update

Product:   Comet2011Install454.exe

Version:   Comet16/32 2011 Build 454

Date:      January 20, 2012       Download the latest release now!

Comet32:

1.	Corrected a problem following numeric overflow errors in Comet32-compiled programs that would cause other
	sessions to hang.

2.	Support for DOS calls used by IDMAINT.

3.	Added fatal internal CosM32 error messages to the UltraEdit listing file.
	
CosP / CometPDF:

1.	Added ability to install more than one Comet PDF printer.  And you may now choose the name of the
	printer.  Previously it had to be called "Comet PDF".  To install a new Comet PDF printer, download
	and run the latest CometPDFSetup.exe.
	

Changes in previous releases: Build 453 Comet16: 1. Corrected a problem in memory allocation which could have caused a crash on large installations with lots of users running GDI or CometAnywhere print programs. Comet32: 1. Errors opening the ErrorLog file are now logged to the Comet.log file. 2. Fixed a problem in inputting a csv item. Comet16 objects could have truncated the last item in a FORMAT. 3. Server snapshot now works from all sessions. Previously it was working only from session 0. This affected the WHOHAS and NETINQ utilities. 4. Fixed a problem in the Comet32 MOVE statement where the destination was the last character of the string. 5. Now verifies that the "count" parameter for the MOVE statement is greater than zero. 6. Network paths returned by (GetDirAlias) from X00 are no longer validated as a directory. This is consistent with how CosW handles this. 7. Corrected a problem in processing FORMATs for Comet16 objects where a length override was used on a variable that was longer than the declared length of the variable. Data in the following variable in memory could have been corrupted. 8. (CR) mnemonic now correctly turns off any pending (LS) in Comet32-compiled programs. 9. Added support in CosM32 for optional arguments in the (Log=) mnemonic for the email printer. 10. Increased space allocated for constants in CosM32 to prevent memory error 73. 11. Increased the number of indirect address temps in CosM32 to prevent memory error 77. Build 452 Comet32: 1. Corrected a problem that could truncate the fractional digits of a numeric value in a FORMAT or input list. This problem was introduced in release .451. 2. New STL Containers introduced. 3. Corrected spelling of the EXEPASS symbolic constant in the compiler. Previously it was EXECPASS. CADev: 1. Introduction of CADev for IB development from a CometAnywhere client using UltraEdit. This requires REL 11.10 or higher. IB: 1. New Registry mnemonics allow you access to the Windows registry. This is available in both Comet16 and Comet32. 2. New (EnableClose) mnemonic to enable/disable the [X] close button at the top of a Comet window. This feature requires REL 11.10 or higher and is available in both Comet16 and Comet32. CosP: 1. Introduction of the Comet PDF Printer. This is a free PDF printer for all Comet subscribers. Build 451 The MS VS Redistributables have been added back into the release. They were inadvertently omitted from the .450 release. Comet32: 1. A READ of the clock now updates TIME$. 2. Corrected a problem that could have dropped a formfeed from a FORMAT in Comet32 objects if the (FF) was followed by a column positioner. The Reporter uses such a FORMAT so this could have affected Reporter output. 3. Corrected a problem in Comet16 objects when INPUTing a more precise value than the variable allows. The extra digits may have overflowed into the next variable. 4. Corrected a problem writing to a key-only file with a FORMAT using an array and repetition factor of 0. This was preventing the COPY utility from copying key-only files. 5. Corrected a problem with Comet16 objects using the INT function. If the value was negative, the sign was getting dropped. 6. Corrected a problem that could have sent print jobs to the wrong printer when many print jobs were attempted simultaneously. This fix requires .451 version of CosP also. 7. Added escaping for quotes and backslashes in the mysql driver. 8. Added more numeric temp storage to the Comet32 compiler for processing long expressions. Build 450 Comet32: 1. Eliminated possible crash if DES program name was longer than 8 characters. 2. Eliminated possible truncation of write data when using a FORMAT with column positioners not in numerical order. 3. Changed the method for device name detection. Now the device name must match a configured device or else it will be treated as a file. 4. Corrected a problem with the SGN function in Comet16 programs. 5. Increased the time allowed for printer document names to be returned to the printer driver. 6. Compiler now reports CFAM errors back to UltraEdit if error occurs while accessing source, object, or list files. CosW: 1. Better CosW.ini parameter checking when loading. Build 449 Comet32: 1. Eliminated a possible memory leak after fatal error. 2. XAP changes for compatibility with Comet16 version. 3. If KEY function fails the result string will now be set to null. 4. Corrected a validation issue in DateToNum and Date2Num. 5. Corrected a problem with INPUT of a numeric when a mnemonic was present in the FORMAT. 6. Eliminated compiler crash when processing object code for a proc CALL. 7. FSTAT of a file with no directory specified will now result in E11 if the file is not found. 8. Corrected problems in the memory management of procs. 9. Increased the record size limit to 8000 for text files. It was 1024 previously. Comet.exe 1. Corrected a problem in parsing the /PN parameter. Build 448 Comet32: 1. Corrected a memory protection fault that could occur at a CALL statement. 2. Change in the method for handling uninitialized COMMON. Comet16: 1. Corrected a problem in the compiler with using an expression as the SELECT CASE. Build 447 Comet32: 1. Corrected a problem so that email mnemonics compiled using Comet16 will work. 2. Eliminated a potential memory leak. 3. Corrected a possible crash if new background partitions had to be allocated for ACTIVATE. 4. DSTAT of X00 now returns the actual number of partitions rather than the configured number. 5. Corrected a problem in the SGN function. 6. Corrected a CosM32 problem that could have resulted in "Error in intermediate code" if a continuation character was used in the middle of a statement with an EXCP=. 7. Corrected problem in CosM32 introduced in .444 in object code for calling a proc. CFAM: 1. Corrected a bug in CFAM that could cause a crash when allocating new background partitions for Comet32 ACTIVATEs. 2. Background partitions now get the same dabs as the activating partition. CosC: 1. Corrected a problem that could have caused a hang when a CometAnywhere client disconnected. Build 446 Comet32: 1. INPUT with FORMAT no longer strips the contents of the variables. 2. CLOSE of LUN 0 now resets (UpperCaseInput) to (NormalInput). 3. Attempt to prevent a possible crash during shutdown if node takes too long to shutdown. 4. Corrected a problem in passing COMMON between Comet16 and Comet32 programs and visa versa. Previously, only the first variable was passed in some circumstances. 5. Fixed editmask problems introduced in version .445. 6. Implemented file(ctl=) for the Winsock gateway so it works like x$ = control(). 7. Set TERM$ for background partitions to blanks. 8. Symbolic constants defined in the main proc of an IB program are now visible to other procs. 9. Corrected a problem in the compiler that was leaving unwanted .lst files around. CosC: 1. Eliminated a possible crash caused when a CometAnywhere session disconnects with pending commands. (This was supposed to have been released with the .445 version). 2. Eliminated problem that could have caused a crash when a session was terminated. Build 445 Comet32: 1. NewInput statement can now use array elements as operands. 2. Corrected a problem in CONTAINS. 3. Fixed a problem in Date2Num when using a 2-digit year. 4. New CosW.ini options for debugging Comet32 and Comet32 programs: CosW.ini options 5. Fixed a problem passing an expression to a proc where the receiving variable is by reference or a dynamic string. 6. Fixed a problem calling a proc with an expression and using a dynamic variable as its destination. 7. Adjusted how edit masks deal with 0 values. If mask is ###.##- blanks are now output. 8. EXCP value reported after ERROR statement is now correct. 9. Set RUNSTATE to 2 after fatal or unhandled error so password will be requested. 10. User's dabs are now retained after STOP or fatal error. Previous versions assigned default dabs. CosC: 1. Eliminated a possible crash caused when a CometAnywhere session disconnects with pending commands. CometExplorer: 1. DirBuild no longer requires administrator privileges to run. Build 444 Comet32: 1. New TRACE statements to assist in debugging IB programs. NOTE: If you are planning to use this with CED source files REL 11.07 is required. 2. Corrected problems using email mnemonics in FORMAT statements. CometExplorer: 1. New error dialog for file move errors. 2. Fixed refresh so the view gets updated properly. 3. Added F5 for refresh. Build 443 Comet32: 1. Fixed a quirk in CREATE so old QTILITY Copy for a range of files will work. 2. Corrected a problem with Comet32 IB programs which would effect the size of images. 3. Corrected a problem calling procs with dynamic string parameters. 4. Corrected a problem in the compiler that could have caused problems for references to the first constant following a symbolic constant definition. 5. Corrected a problem in the compiler that could result in a fatal compiler error 91. 6. Corrected a problem in the compiler so procs with no parameters may now be called. Comet16: 1. Corrected a problem with csv output of a string whose last character was either a a comma or a quote. CosC: 1. Corrected a problem that could have resulted in a hang. Build 442 Comet32: 1. Eliminated trailing null on pdf filename returned in # buffer following close of archive printer. 2. Introduction of new ErrorLog file. UTL 11.06 includes a new ErrLog utility for viewing the file. CosC: 1. Corrected a problem that could have resulted in a hang. CosW: 1. Now uses the same image library as CosP. Build 441 Comet32: 1. Corrected problem in SetTimer so you can reset a timer to a new value and restart it. 2. Corrected a problem with WAKEUP that caused it to be late. 3. Suppress intial (FF) for text and html printers. 4. Use of the (LM) modifier in a FORMAT now places the minus sign next to the first digit. In previous releases it included space place holders after the sign to the size of the field. 5. Corrected a problem that could cause a crash if an unhandled Comet error occurred in a proc. Comet16: 1. Suppress intial (FF) for text and html printers. 2. Corrected a problem that caused E30 when GDI printing to CA printers. CosW: 1. Now remembers the last Windows printer that was used when choosing from ? printer dialog. Build 439 Comet32: 1. Corrected a problem that wasn't correctly loading numeric array elements in a Comet32 object READ FORMAT correctly. Values for all but the zeroeth element were set to 0. Build 438 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. 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. Comet.exe: 1. The optional driver files are now copied. This includes those used by the ODBC, fax, and serial drivers. 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. Rewritten, including improved algorithm for detecting if MS Redistributables are required. 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.