Comet32

From CometWiki

(Difference between revisions)
Jump to: navigation, search
Line 89: Line 89:
Build 435
Build 435
*Changes in the way COMMON may be passed between programs:
*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.
+
<ul>
-
 
+
<li>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.
+
<li>If both programs are Comet16 or Comet32, common passing will work fine.
-
 
+
<li>Single dimension arrays will be passed between Comet16 and Comet32 programs, although the zeroeth element will be lost.</ul>
-
- Single dimension arrays will be passed between Comet16 and Comet32 programs, although the zeroeth element will be lost.
+
*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.
*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.
*Variable subscripted array elements are now allowed in a PRINT list.
*Variable subscripted array elements are now allowed in a PRINT list.

Revision as of 18:12, 12 April 2011

Comet32 Enhancements

IB Enhancements for Comet32

Known Problems that We Plan to Consider and/or Address

  • No debugger
  • ODBC is not supported. Replaced with SQL interface.
  • Serial Gateway is not supported. -- Brian

Functionality that Will Not Be Part of Comet32

  • The name of the clock is CL1. Comet16 allowed any name beginning with "CL" to be used.
  • The Spool driver has not been implemented. -- Not needed, replace with DocMgr
  • Image file support.
  • Q-emulation for QICBASIC objects.
  • The SORT driver will not be implemented. We have modified the Reporter (version 9.02) to work without it.
  • Invalid character substitution in file names
  • QSTARTX.
  • Inputting a numeric value from the screen works differently under Comet32 than under Comet16. For example if you declare a variable to be 6.2 and you input its value as "5", under Comet16 that would be interpreted as .05 whereas under Comet32 it would be 5.00.
    • Hallelujah, never could get operators to understand the old way.--badge 18:03, 19 May 2009 (UTC)
  • Background partitions have been partially implemented.
    • ACTIVATE and PSTAT have been implemented.
    • TERMINATE, PCOMM and INTERRUPT have not been implemented.
      • Some form of inter partition communication has yet to be designed.
  • LUN 0 is to be used solely for either the screen or the XAP driver depending on the configuration. For normal Comet programs, close of LUN 0 is ignored. The terminal may be opened on a LUN other than 0, but all actions on either LUN will apply to the other.

Differences Between Comet16 Objects and Comet32 Objects

It is our intention that your Comet16 objects will run under Comet32 exactly as they do under Comet16. IB has been enhanced for Comet32 so not only will you be able to do more things easier we also may decide to change the functionality of some of the legacy instructions. We welcome your input on these issues as they come up.

  • Numeric overflows will generate a runtime error E01 for Comet32 programs. You can trap this with an ERRORTO.badge 18:03, 19 May 2009 (UTC) This has been changed as of build 420. Overflow is ignored, although it generates a log message. Jim 12:24, 24 February 2011 (PST)'


Recent Changes

Build 435

  • 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.
  • 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.
  • Variable subscripted array elements are now allowed in a PRINT list.
  • Corrected problems doing arithmetic using array elements.
  • The (BZ) mnemonic now works properly in Comet32 programs.

Build 434

  • Corrected a problem that could have skipped a (FF) if it was the only item in the FORMAT. This effects Comet32 objects only.
  • 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.
  • Corrected a problem in detecting an invalid array index.
  • 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.
  • Removed the stack dump code when reporting Comet errors. It is still used in the event of a Comet crash.
  • Eliminated a CosW crash which could occur if multiple sessions were started in quick succession.

Build 433

  • A new $(LOGS) alias has been created for a folder which will contain miscellaneous log files produced by Comet.
  • Comet Error E09 will now be issued if an invalid character is detected in a filename.
  • 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.
  • Corrected a problem that could have skipped a (FF) if there was data before it in the FORMAT.
  • 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.
  • 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.
  • 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 has been rewritten for Comet 2011, including improved algorithm for detecting if MS Redistributables are required.

Build 432

  • Corrected a problem with WinSock gateway timing.
  • Now allows INPUT into MESSAGE$, DATE$, HELPKEY$, DAY$.
  • The key value is now indicated in ErrorLog.csv for Error 32.
  • DATE$ is now refreshed when DSTAT of the clock is done.
  • Added write functionality to mySQL.
  • The /keyfile Comet command line argument now works.
  • Corrected a problem with font initialization for pdf printers.
  • ACTIVATE corrected to use only partitions configured for background.
  • The SUB function will now default to starting position of 1 if the value supplied is less than or equal to zero.
  • E50 is now issued for an out of range subscript value for a Comet16 object.
  • Corrected a problem preventing hyperlinks from working in some cases.
  • Divide by zero errors are no longer logged to ErrorLog.csv.

Build 431

  • New (SessionTimeout) mnemonic will automatically shutdown a session after a specified number of minutes. This requires REL version 11.03 or higher.
  • Corrected a problem that could have caused a crashed in the printer event handler.
  • WAKEUP and PAUSE can now be interrupted by F3.
  • Changed the way the Windows printer selection dialog is displayed so that it will be on top of other windows.
Build 430
  • Corrected a problem in ROUNDing the result of numeric calculations.
  • Corrected the implementation of some mnemonics including (CopyFromClipboard) and (CopyToClipboard)
  • E50 no longer erroneously reported for array dimension sizes > 255
  • CosM32 compiler now allows use of characters with a value greater than @79@ in string constants. Use of these characters elsewhere will be ignored and treated as if blank.
  • Each partition now gets is own instance of CosP to eliminate a TCP/IP printer problem.
  • Now uses a cache when printing to a CometAnywhere printer to speedup processing. This change requires supporting changes in CosW.

Build 429

  • Corrected a problem calculating the address of an element in a multi-dimension array.

Build 428

  • Corrected a problem that could have caused a crash if an array subscript was out of range.
  • 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.
  • The Next User Address and Last System Function fields reported by PSTAT are no longer converted to decimal values.
  • Increased the size of a normalized pathname to 259. The previous limit was 60.

Build 427

  • Corrected a problem in the NUM function for result fields with a non-zero precision.
  • Corrected a problem in the MOD function.
  • Comet would hang after an E16. This has been corrected.
  • Now uses the "C/R same as Qantel" cfig setting.
  • The user's id field is now set for print jobs destined for an archive. This allows DocMgr to display it.

Build 426

  • 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.
  • Fixed problem in the DOSRW call used to get the device descriptors. Previously you could only get the first 254 devices.
  • Changes to FSTAT for compatibility with Comet16.
  • 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.

Build 425

  • Introduced new date functions.
  • Implemented DOSFC for mkdir.
  • Corrected a problem that would crash if you attempted to log out of Comet while background programs were running.
  • Corrected a problem with the NUM function that was reporting an error if the field contained a trailing blank.
  • Enhanced the NUM function so that it accepts special characters such as ,.()-+ in the input string.
  • Corrected problems with the INPUT statement that doesn't require transmit marks (ie the new INPUT).
  • Now reports E74 if a Comet32 IB object file is corrupted.
  • Comet exception reports for CometAnywhere clients now appear on the client instead of the host.

Build 424

  • 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.
  • Corrected a problem with num2date(0,5). It was returning a blank string.
  • Background sessions now inherit the activating partition's printers, including # printers.
  • Corrected a problem with editing numbers which used (LM) in a FORMAT.
  • Corrected a problem with editing numbers which used a length override in a FORMAT compiled for Comet32.
  • Corrected a problem with numtodate. Leading zeroes were not preserved.

Build 423

  • Comet.exe will now run the Microsoft Visual Studio 2008 Redistributable installation when required for full Comet clients.
  • 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.
  • Corrected a problem with numeric editing which caused numbers to sometimes be truncated.
  • Corrected a problem that could have caused a crash when launching Comet32 automatically on 64-bit Windows systems.

Build 422

  • 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.)
  • 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.
  • 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.
  • The Msgbox IB function and statement can now be used in background partitions.
  • The delimiter used for .csv files can now be specified with the FILE (lun) DLM=char$ statement.
  • FILE (lun) NORMAL introduced to reset a file's access from CSV or XML back to normal.
  • 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.
  • Added a new mnemonic (ClearBuffer) to clear the X00 buffer between writes. Use of this mnemonic requires REL 10.08 or higher.
  • CosC now detects 64-bit Windows and will launch Comet32 automatically.

Build 421

  • FSTAT now returns E11 if the file is not found and a directory was not specified.
  • 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.
  • Corrected a problem in the STRING function for Comet16 objects that could have resulted in corruption of data in other variables.
  • Session colors specified in the configuration file are now used.

Build 420

  • Corrected problems with FPT and BASE64.
  • Numeric overflow errors (ERR 1) are now ignored just like Comet16.
  • Changes required to get CometExplorer's DirBuild to load.
  • Fixed a bug that caused a trigger event when resetting a timer that is not running.
  • Prevented the changing of a constant when inputting a list of fields.

Build 419 Comet32:

  • Corrected a problem in passing numeric arguments to a proc.
  • CONTAINS result was reversing its TRUE / FALSE result. This has been corrected.

Build 418

  • 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

  • Corrected a problem with CosM32 that could have caused internal error 91 stack over/under flow error. This was introduced in version .415.
  • 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.

Build 416

  • Corrected a problem that was reporting E25 and E99 in some dialogs
  • Fixed a problem that was causing some Windows events to be lost
  • Corrected a problem that could have caused a crash when printing
  • Corrected a problem that could have caused a crash when using the First IB function to retrieve the first key of a file.
  • 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".

Build 415

  • 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.
  • 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.

Comet 2010.414

  • Corrected a problem that could have caused a crash if an attempt was made to ENTER a program that doesn't exist.
  • Local pathnames are now returned in drive letter form even if the folder is configured using a UNC name. This effects PATH and DSTAT.

Comet 2010.413

  • Corrected a problem that would have crashed Comet32 if the SQL device was opened.
  • Added additional information to the error messagebox for DOS errors.

Comet 2010.412

  • Increased the size of the task buffer for mySQL to 64K
  • 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.

Comet 2010.411

  • Restored the functionality of dynamic ACCESSes which was broken in version .410.
  • Corrected a problem handling TERM$ values above T99.
  • The NUM function now handles ROUNDed variables correctly.
  • Trailing printer controls such as (FF) and (LF) were not getting processed.

Comet 2010.409

  • Several printing problems were corrected.
  • Correct a problem that could put the object file from a compiled program in the first accessed directory rather than the specified object directory.
  • Enhanced LOG and MSGBOX to accept either a string or a numeric expression as its operand.

Comet 2010.408

  • Miscellaneous printing problems solved plus the addition of support for slave printers.
  • Problems corrected in the handling of editmasks.
  • Problem corrected for GetGlobal.
  • Problem corrected for formatted writes to CSV files.
  • Problems corrected in SetBit and TestBit.
  • Eliminated a problem that could cause a Windows event to be dropped for dialog programs.
  • Corrected the formatting of the spool name info returned by the DosRw 0xffe6 call (GetDDInfo)

Comet 2010.407

  • Added mySQL driver.
  • Changes required for (GetSlavePrinterName).
  • Corrected a problem using mnemonics on a printer with an associated DES.
  • Changed numeric input in Comet16 objects to ignore precision just like Comet16.

Comet 2010.406

  • Will now automatically run SYSGEN if no .cfg file is available. No special command line arguments are required for this to happen.
  • Corrected a problem in handling the (BZ) mnemonic
  • Introduced support for Windows 7 and Server 2008 R2

Comet 2009.404

  • Rewrote the editmask processing code.
  • Screen mnemonics followed by a comma and positioner now work properly.
  • New Comet Error E86 will be issued if an attempt is made to read or write an image file.
  • Corrected a problem in the compiler that would cause a crash if many include files were used.
  • Constant editmasks are no longer evaluated by the compiler. All checking is done at runtime.
  • The LockDabs statement is now supported by the compiler.

Comet 2009.403

  • Implemented WinSock driver
  • Duplicated the Comet16 positioning and spacing of numeric output. Previously programs run under Comet32 that output numeric values were not aligned properly.
  • Compilation errors involving undefined labels are now reported properly thru CAPI when compiling from UltraEdit.

Comet 2009.402

  • Implemented a Comet32 error log. errorlog.csv will be created in the COS directory.
  • Implemented document archives (for DocMgr).
  • Corrected a problem that was causing Windows message events to sometimes be dropped.
  • Added a color square on the right side of the status line of the Comet window indicating whether the current program object was compiled with Comet16 or Comet32. The indicator is blue for Comet16 objects and green for Comet32 objects.
  • Implemented changes required for DbMgr, ViewMgr, and DBX
  • Implemented changes required for server snapshot utility

Comet 2009.401:

  • Implemented CURPOS.
  • Implemented support for contiguous files.
  • Implemented NOVA / SNOVA functionality.
  • Recoded the str function for Comet32 so it emulates the Comet16 one.
  • Implemented the shortpath DOSMS function.
  • Implemented the CometAnywhere update mechanism.

Comet 2009.400:

  • Improved printer functionality including pdf printers.
  • Improvements in the functionality of dialog-based programs. Try DlgDemo.
  • Improvements in GDI operations such as wallpaper.

Please Add any other issues you see with this product here

Personal tools