What's new in KCML 6.20

Records

Libraries

The term module has been deprecated in favor of the word library thus MODULE ADD now becomes LIBRARY ADD. Both keywords may be used in a program but MODULE will be replaced by LIBRARY automatically when a program is saved.

The PUBLIC and PRIVATE keywords can be used in libraries to declare in DIM, DEFSUB, DEFRECORD whether the symbols are to be visible outside the library. Without these qualifiers the symbol is presumed to be PUBLIC and thus visible. Adding PRIVATE will guarantee that the symbol will not be visible to a program executing in the foreground or in another library. Programmers are encouraged to use PRIVATE wherever possible with code that can be encapsulated inside of a library and an explicit PUBLIC qualifier to define the functions, records and constants that make up the libraries public interface.

PUBLIC DIM is now used to define library variables replacing the COM convention of KCML 6.10 which is still supported for this release but which will be phased out in the next release of KCML.

There is a built in library containing DEFRECORD definitions for KCML constructs like $PSTAT and $MACHINE. It also contains some common $DECLARE definitions. This library is searched after all the explicitly loaded libraries so any of these definitions can be overridden.

Error handling

A new TRY/CATCH mechanism can be used to protect a block of statements from run time errors. This can replace ERROR DO and the deprecated ON ERROR statements. It supports nesting and the passing of errors up to outer handlers. Errors can also be thrown programmatically with the THROW statement.

Forms

New methods to help in the dynamic creation of forms. All the following may only be used in the Create event

New menu properties have been added to help the programmer:

Database

Xerces XML parser

Memory

Forms editor

Connection Manager

Miscellaneous

Compatibility

Platform support

All versions of KCML 6.20 have support for large filesystems and can address files greater than 2Gb. They are all compiled for 32-bit operating systems.

Operating systemMinimum versionComments
WindowsXP service pack 2
Sun Solaris8Sparc processors only
HP-UX11
AIX4.3.3
Linux2.4 kernelE.g. Redhat 8 or later
Unixware 77.1.1
Unixware 2No longer supported
SCO OpenserverNo longer supported
Compaq Alpha TrueUnixNo longer supported

See System Requirements for more informantion.

Client support

Kclient is available in two versions