The following paragraphs describe changes that can affect programs originally written with ACUCOBOL-GT Version 5.2.
Version 6.0 introduces a new Vision file format: Vision Version 5. Vision Version 5 supports records up to 64 megabytes in size, block sizes up to 8192 bytes, very large pre-allocate and extension factors, and a virtually unrestricted number of records that allow duplicates. Version 5 files cannot be read by ACUCOBOL-GT Version 5.2.1 or earlier runtimes. See Indexed Files Vision in ACUCOBOL-GT User's Guide the for a complete description of Vision Version 5.
Version 6.0 introduces a new runtime for the Windows operating environment that may be used to run applications originally deployed in the Extended DOS environment, as well as other character-based applications. The new runtime is called the console runtime. The name of the executable is crun32.exe. The console runtime uses the Windows Console API and runs in a virtual DOS window. The console runtime replaces the Extended DOS runtime and is sold separately.
The console runtime can run ACUCOBOL-GT applications developed for the Extended DOS environment provided that some minor changes are made. For example, the console runtime supports printing capabilities based on the Windows model. Program code that relies on DOS printing functions must be modified.
The following runtime configuration variables are MS DOS-specific and are not supported in Version 6.0:
The browser industry has shifted away from its support of Internet plug-ins in favor of ActiveX controls. For this reason, we developed and released an ActiveX-based Web Runtime in ACUCOBOL-GT Version 5.2.1. Due to lack of browser support, the ACUCOBOL-GT Web Plug-in is not offered or supported in Version 6.0. See Migrating from the Web Plug-in to the Web Runtime in A Programmer's Guide to the Internet for information on migrating from the Web Plug-in to the Web Runtime.
In Version 5.2 and earlier, setting the VALUE of a combo box or list box caused the first item in the list that started with the value of VALUE to be selected, regardless of case. Beginning with Version 6.0, when a box's VALUE is set, the list is searched for an exact, case sensitive match with the specified value. If the value is found, it is selected. If an exact match is not found, the list is searched for an exact match regardless of case. If a match is still not found, the list is searched again, this time for the first string that contains the passed VALUE as a leading substring, regardless of case.
This change could affect the behavior of an existing application. The configuration variable V60_LIST_VALUE allows you to select which search algorithm, new or old, to use. See V60_LIST_VALUE in Appendix H.
Starting with Version 6.0, when you compile for RM COBOL compatibility (-Cr), in the Identification Division, Area A can start in either column 8 or 9 (ANSI format) or column 1 or 2 (terminal format). In prior versions, Area A in the Identification Division started precisely in column 8 (ANSI format) or column 1 (terminal format).
This change may cause warnings in programs that previously compiled without warnings. To revert to the old rule, you can use the --noRmMargin compiler option.
The image processing code used by Version 6.0 (and later) for BITMAP controls is device-dependent. This may affect image rendering in some programs, written for Version 5.2 or earlier, which rely on device-independent bitmaps. If BITMAP controls are displaying incorrectly, adjust the setting of the configuration variable, V52_BITMAPSV52_BITMAPS, described in Appendix H.
If some event in the system forces the focus away from a text-based push button after a click has been initiated but not finished, the click is voided. Starting with Version 6.0, bitmap push buttons void the click just like a text-based push button. This change applies only to programs compiled for 6.0 semantics or later.
The definitions of the HANDLER-PRE-ALLOCATE-AMOUNT, HANDLER-EXTENSION-AMOUNT, HANDLER-MAX-LREC-SIZE, HANDLER-MIN-LREC-SIZE, and HANDLER-SEGMENT-OFFSET data items in sample/handler.cpy have changed.
The definitions of the PRE-ALLOCATION-AMOUNT, EXTENSION-AMOUNT, MAX-REC-SIZE, MIN-REC-SIZE, and KEY-OFFSET data items in "sample/def/filesys.def" have changed.
|-C52||Causes the compiler to generate code according to the rules used by Version 5.2.|
|-Z52||Creates object code that can be run with a Version 5.2 runtime.|
If you need to preserve indexes as 16-bit items, you can either compile for an object format prior to Version 6.0, or you can compile using the --nodata32bit option. This option inhibits the new data addressing features of 6.0 and causes indexes to be kept as 16-bit data items.