CA-Clipper 5.2a (International) - MAINTENANCE RELEASE UPDATE NOTES. To address the minor problems found with the initial release of CA-Clipper 5.2 Computer Associates has produced patch files to update version 5.2 to version 5.2a. Should others be found, CA will make them available to you via the CLIPPER forum on CompuServe. REQUIRED FILES FOR PERFORMING UPDATE. 52AINT.EXE A self exploding .ZIP file that may be downloaded from the CLIPPER forum (library 0) on CompuServe. (GO CLIPPER). PATCH.EXE Updating engine required for use with 52ABIN.RTP, 52ALIB.RTP and 52AOBJ.RTP. This file is also in Library 0 of the CLIPPER CompuServe forum. CONTENTS OF 52AINT.EXE 52ABIN.RTP Updating file for CLIPPER.EXE & CLD.EXE 52ALIB.RTP Updating file for CLIPPER.LIB, CLD.LIB, EXTEND.LIB & DBFNTX.LIB 52AOBJ.RTP Updating file for NAT_OBJ.EXE. 52ADOC.TXT This file. UPDATE PROCESS (using example directories). o Make sure that you have placed PATCH.EXE in a directory which is on your DOS path. o Make a new directory, move 52AINT.EXE into this new directory and run it. EXAMPLE: C:\> MD C:\DWNLD C:\> COPY 52AINT.EXE C:\DWNLD C:\> CD C:\DWNLD C:\DWNLD> 52AINT o Take 52ABIN.RTP and move it to your CA-Clipper 5.2 BIN directory. EXAMPLE: C:\DWNLD> COPY 52ABIN.RTP C:\CLIPPER5\BIN o Move to your BIN directory, type PATCH 52ABIN and watch the patch program update the appropriate files. A summary will be displayed on your screen. EXAMPLE: C:\DWNLD> CD ..\CLIPPER5\BIN C:\CLIPPER5\BIN> PATCH 52ABIN o Take 52ALIB.RTP and move it to your CA-Clipper 5.2 LIB directory. EXAMPLE: C:\CLIPPER5\BIN\> CD ..\LIB C:\CLIPPER5\LIB\> COPY C:\DWNLD\52ALIB.RPT o Move to your LIB directory, type PATCH 52ALIB and watch the patch program update the appropriate files. A summary will be displayed on your screen. EXAMPLE: C:\CLIPPER5\LIB> PATCH 52ALIB o Take 52AOBJ.RTP and move it to your CA-Clipper 5.2 OBJ directory. EXAMPLE: C:\CLIPPER5\LIB\> CD ..\OBJ C:\CLIPPER5\OBJ\> COPY C:\DWNLD\52AOBJ.RPT o Move to your OBJ directory, type PATCH 52AOBJ and watch the patch program update the appropriate files. A summary will be displayed on your screen. EXAMPLE: C:\CLIPPER5\OBJ> PATCH 52AOBJ o The update process is now complete. NOTE: The process of updating your BIN and LIB files will create a sub-directory called \BACKUP appearing off your BIN, LIB and OBJ sub-directories (C:\CLIPPER5\BIN\BACKUP, C:\CLIPPER5\LIB\BACKUP & C:\CLIPPER5\OBJ\BACKUP). These new directories will contain the original version of the patched files. You may delete these files and directories but, if space is available, it is recommend that you retain them for future use. WHAT EXACTLY HAS BEEN CHANGED? - CHECKING THAT THE UPDATE PROCESS WORKED. o In your BIN directory - CLIPPER.EXE and CLD.EXE should be dated 15th March 93; time stamp should be 5:21AM. o In your LIB directory - CLIPPER.LIB, CLD.LIB, EXTEND.LIB and DBFNTX.LIB should be dated 15th March 93; time stamp should be 5:21AM. o In your OBJ directory - NAT_OBJ.EXE should be dated 15th March 93; time stamp should be 5.21AM. o All your other files should be dated 4th March 93; time stamp should be 5:20AM. NOTES: 1. If you are incorporating nation support in your applications then you will need to extract the updated nation .OBJ's from the new NAT_OBJ.EXE. This is done by running NATION.BAT found in your OBJ directory. EXAMPLE: C:\CLIPPER5\OBJ> NATION.BAT 2. If you use PLL files you need to rebuild them! EXAMPLE: C:\CLIPPER5\PLL> RTLINK @BASE52.LNK 3. You may also wish to rebuild DBU and the other utilities. PROBLEMS ADDRESSED BY CA-Clipper 5.2a o C3049 - String Space exhausted. - Change to CLIPPER.EXE The compiler has been changed to increase the available string space. Developers whose applications compiled with this error in previous versions of Clipper should no longer receive this error message. o Debugger Break Point Handling. - Change to CLD.EXE & CLD.LIB The debugger has been changed to improve Break Point handling. Developers who noticed difficulty in setting break points or noticed that break points were lost upon application restart will no longer have problems. o Memoedit() double spacing problem. - Change to EXTEND.LIB The Memoedit() function has been changed to alleviate a double spacing effect which sometimes occurred. The only developers who noticed this problem had memo field data which had a trailing space at the wrap point. While this problem was uncommon it could be very disconcerting in applications where the format of memo field data is important. o Inkey() setting Lastkey() to 0. - Change to CLIPPER.LIB The Inkey() function has been changed. The Inkey() function in CA-Clipper 5.2a will only set the Lastkey() value when a key is drawn from the keyboard buffer. The Inkey() function in version 5.20 set the Lastkey() value to 0 when there was no key in the keyboard buffer to retrieve and the time value expired. The 5.20 behavior had an adverse effect on several systems which use Inkey(); for example Memoedit() with a custom UDF() where the UDF() had been coded to expect the last navigational key pressed to be available via Lastkey() would receive a value of 0. o OrdSetFocus() tag in lowercase. - Change to DBFNTX.LIB The OrdSetFocus() function will now accept parameters in any case. Developers who changed their applications to use order names rather than order numbers noticed that unless the name was in upper case the order established would be natural (no) order. This problem was unique to the DBFNTX driver. o NATION support. - Change to NAT_OBJ.EXE The change here is only in the internal structure of the nation drivers. The drivers will now make a function call into CLIPPER.LIB to retreive clipper version information. In the future should a specific driver require updating this change simplifies that process. SUPPORT NOTES CA-Clipper 5.01 vs 5.2x o _GET_() - Changed in 5.2 and may effect 3rd Party products. If you have noticed that sometimes GETs don't appear then your application is probably making a call to _GET_(). The call to this internal function may be invoked from a 3rd party product. The CA-Clipper internal function _GET_() has changed from version 5.01 to 5.2x. In 5.2x _GET_() no longer displays the GET. The GET is now only displayed after a call to the get_object:Display() method. Developers or 3rd parties who depended on the old behavior will either have to re-write the offending code, recompile, or ask the 3rd party vendor to supply a 5.2x compatible version of the library. o Avoid calls to Internal Functions. As a reminder. Developers should not rely on the behavior of internal functions, (those that start with one or more "_"). Calling internal functions is strongly discouraged by Computer Associates as there is no guarantee the behavior of these internals will remain consistant between versions. >>End<<