JEDI Help:RTLFeatures

From Project JEDI Wiki
Jump to navigationJump to search
JEDI Help

Search in JEDI Help

 
Search in all projects
 


Summary

Compiler symbols for detecting RTL features.


Pascal

 {$IFDEF SYMBOL}
 // The RTL feature is available
 {$ENDIF SYMBOL}


Description

Once jedi.inc is included at the top of your pascal source file, the following compiler symbols are defined depending on the RTL features.
These symbols can be used for code conditional compilation based on available RTL feature.

These symbols are defined depending on the RTL family:

Symbol Description
VCL Defined for Delphi/BCB (Win32) exactly if VisualCLX is not defined
VisualCLX Defined for Kylix; needs to be defined for Delphi/BCB to use JCL with VisualCLX applications.
XPLATFORM_RTL The RTL supports crossplatform function names (e.g. RaiseLastOSError) (D6+/BCB6+/FPC)


These symbols identify the RTL version:

Symbol Description
RTL80_UP Defined when compiling with Delphi 1 or higher
RTL90_UP Defined when compiling with Delphi 2 or higher
RTL93_UP Defined when compiling with C++Builder 1 or higher
RTL100_UP Defined when compiling with Delphi 3 or higher
RTL110_UP Defined when compiling with C++Builder 3 or higher
RTL120_UP Defined when compiling with Delphi 4 or higher
RTL125_UP Defined when compiling with C++Builder 4 or higher
RTL130_UP Defined when compiling with Delphi 5 or C++Builder 5 or higher
RTL140_UP Defined when compiling with Delphi 6, Kylix 1, 2 or 3 or C++Builder 6 or higher
RTL150_UP Defined when compiling with Delphi 7 or higher
RTL160_UP Defined when compiling with Delphi 8 or higher
RTL170_UP Defined when compiling with Delphi Personalities of BDS 3.0 or higher
RTL180_UP Defined when compiling with Delphi or C++Builder Personalities of BDS 4.0 or higher
RTL185_UP Defined when compiling with Delphi or C++Builder Personalities of BDS 5.0 or higher
RTL190_UP Defined when compiling with Delphi.NET of BDS 5.0 or higher
RTL200_UP Defined when compiling with Delphi or C++Builder Personalities of BDS 6.0 or higher
RTL210_UP Defined when compiling with Delphi or C++Builder Personalities of BDS 7.0 or higher
RTL220_UP Defined when compiling with Delphi or C++Builder Personalities of BDS 8.0 or higher
RTL230_UP Defined when compiling with Delphi or C++Builder Personalities of BDS 9.0 or higher


If the RTL is CLR, then the following symbols are defined depending on its version:

Symbol Description
CLR Defined when compiling for .NET
CLR10 Defined when compiling for .NET 1.0 (may be overriden by FORCE_CLR10)
CLR10_UP Defined when compiling for .NET 1.0 or higher
CLR11 Defined when compiling for .NET 1.1 (may be overriden by FORCE_CLR11)
CLR11_UP Defined when compiling for .NET 1.1 or higher
CLR20 Defined when compiling for .NET 2.0 (may be overriden by FORCE_CLR20)
CLR20_UP Defined when compiling for .NET 2.0 or higher


Symbol Description
HAS_UNIT_LIBC Unit Libc exists (Kylix, FPC on Linux/x86)
HAS_UNIT_RTLCONSTS Unit RTLConsts exists (D6+/BCB6+/FPC)
HAS_UNIT_TYPES Unit Types exists (D6+/BCB6+/FPC)
HAS_UNIT_VARIANTS Unit Variants exists (D6+/BCB6+/FPC)
HAS_UNIT_STRUTILS Unit StrUtils exists (D6+/BCB6+/FPC)
HAS_UNIT_DATEUTILS Unit DateUtils exists (D6+/BCB6+/FPC)
HAS_UNIT_CONTNRS Unit contnrs exists (D6+/BCB6+/FPC)
HAS_UNIT_HTTPPROD Unit HTTPProd exists (D9+)
HAS_UNIT_GIFIMG Unit GifImg exists (D11+)
HAS_UNIT_ANSISTRINGS Unit AnsiStrings exists (D12+)
HAS_UNIT_PNGIMAGE Unit PngImage exists (D12+)
HAS_UNIT_CHARACTER Unit Character exists (D12+)
HAS_UNIT_RTTI Unit RTTI is available (D14+)
HAS_UNIT_REGULAREXPRESSIONSAPI Unit RegularExpressionsAPI is available (D15+)
HAS_UNIT_SYSTEM_UITYPES Unit System.UiTypes is available (D16+)


About

Contribute to this help topic

This documentation wiki is based on the collaborative effort of Project JEDI users. Your edits are welcome in order to improve documentation quality: edit this page