Index

The Conroy & Conroy Subroutine Library - Pascal Interface

2.1 Pascal Interface
The Pascal sources for the Subroutine Library can be used directly, rather than using the binary libraries. This provides a wider range of compatibility and options for Pascal programs. The entire library can be used with FPC and Delphi 6.0 (and later). Parts of it are compatible with earlier versions of Delphi, Borland Pascal, and other compilers (such as Gnu Pascal), but there is no plan to maintain the sources for anything prior to Delphi 6.0. Note: FPC objects descend from TObject, which defines a bunch of COM methods, and therefore is not compatible with the pure CORBA objects used in the General interface. Thus, FPC users are forced to use the sources instead. Although non-COM objects are supported by FPC, a bug in FPC prevents the ability to obtain such objects from the DLLs. Not all code supports Delphi Firemonkey and/or mobile platform. Those routines which do are specifically noted in the header comments. Otherwise assume they have not been confirmed to work with Mobile platforms.

All type definitions begin with "T" to distinguish them from other identifiers. Futher, if a class is a static class, the "T" is followed by "S". Otherwise, the class is assumed to be dynamic. In most cases, both types of class are defined, where the dynamic version is a wrapper for the static version. Thus, you can use either version in Delphi. For classes that descend from the common COM interface, the class name starts with "TCOM_". Finally, "P" is used to denote the type of: a pointer to an object ("PS" indicates a pointer to a static object).

The following modifiers can be found for source code when it indicates it is available in Pascal:

IndicatorDescription
AllShould be compatible with all modern Pascal compilers (say, from 1980 on). Possibly even compilers going back to the early 1970s. Should also be platform independent (meaning that it can target any platform even if it is useless on that platform).
BPBorland Pascal
ConsoleMSDOS
DelphiDelphi
D1Delphi 1
D2Delphi 2
DMDelphi Mobile
FMXDelphi Firemonkey
TPTurbo Pascal
VCLDelphi VCL

2.1.1 Conditional Compilation symbols
All routines in the subroutine library, and any Pascal code that calls them, must include the eDefines.inc file. This defines several useful conditional compilation symbols that are used to provide for compilation under various compiler and system platforms.