Search code examples
pascalfreepascallazarusdelphi

Delphi equivalent to Free Pascal's FPC define?


Is there a compiler define that tells if source code is compiled with delphi, in the sense of an equivalent to the FPC define in Free Pascal?

I am developing a unit that should be compatible with three Pascal compilers (Lazarus / Free Pascal, Delphi and winsoft PocketStudio). There are some differences among the compilers, therefore I would like to provide some critical parts of the code in a compiler-specific version.

For Free Pascal I can write

{$IFDEF FPC}
  DoSomething;
{$ENDIF}

but what is the equivalent for Delphi?


Solution

  • The DCC define was added to the Delphi compiler in XE2. Prior to that, you had to use {$IFDEF VERxxx} statements to check for the presence of individual VERxxx defines for each version of Delphi, or an {$IF DECLARED(CompilerVersion)} statement for Delphi 6+.