{ Define flags for different Delphi versions } {$IFDEF VER120} { Delphi 4 } {$DEFINE DELPHI4} {$DEFINE DELPHI4_UP} {$ENDIF} {$IFDEF VER130} { Delphi 5 } {$DEFINE DELPHI4_UP} {$DEFINE DELPHI5_UP} {$ENDIF} {$IFDEF CONDITIONALEXPRESSIONS} { Delphi 6+ } {$IF CompilerVersion >= 14.0} { Delphi 6+ } {$DEFINE DELPHI4_UP} {$DEFINE DELPHI5_UP} {$DEFINE DELPHI6_UP} {$IFEND} {$IF CompilerVersion >= 15.0} { Delphi 7+ } {$DEFINE DELPHI7_UP} {$IFEND} {$IF CompilerVersion >= 22.0} { Delphi XE+ } {$DEFINE DELPHIXE_UP} {$ENDIF} {$ENDIF}
Or here is an alternate version with HAS_UNIT_CONTNRS instead of DELPHI5_UP which would support FPC/Delphi dual support more cleanly:
~~~~~~~~~~~~
{ Define flags for different Delphi versions }
{$IFDEF VER120} { Delphi 4 }
{$DEFINE DELPHI4}
{$ENDIF}
{$IFDEF VER130} { Delphi 5 }
{$DEFINE HAS_UNIT_CONTNRS}
{$ENDIF}
{$IFDEF CONDITIONALEXPRESSIONS} { Delphi 6+ }
{$IF CompilerVersion >= 14.0} { Delphi 6+ }
{$DEFINE HAS_UNIT_CONTNRS}
{$IFEND}
{$IF CompilerVersion >= 15.0} { Delphi 7+ }
{$DEFINE DELPHI7_UP}
{$IFEND}
{$IF CompilerVersion >= 22.0} { Delphi XE+ }
{$DEFINE DELPHIXE_UP}
{$ENDIF}
{$ENDIF}
{$IFDEF FPC}
{$DEFINE HAS_UNIT_CONTNRS}
~~~~~~~~
{$ENDIF}