Nur da man mit {$IFDEF VER24}
nicht gut arbeiten kann und diese bei jeder neuen Compiler-Version irgendwie anpassen/erweitern muß,
bzw. sich erst aus einer Fremdbibliothekt eine aktuelle Variante von passendden Compiler-Defines besorgen und einbinden muß,
bin ich seit 'ner ganzen Weile auf die CompilerVersion umgestiegen, was ja eigentlich mindestens seit Delphi 7 funktioniert.
Man könnte es aber auch andersherum machen: Definieren der bis dato bekannten Einschränkungen und dann auf Fehlen derselben prüfen.
Delphi-Quellcode:
{$IFDEF VER80} //Delphi 1
{$DEFINE D4_OR_LOWER}
{$DEFINE D5_OR_LOWER}
{$DEFINE D2005_OR_LOWER}
{$DEFINE D2007_OR_LOWER}
{$DEFINE D2009_OR_LOWER}
{$ENDIF}
...
{$IFDEF VER185} //Delphi 2007
{$DEFINE D2007_OR_LOWER}
{$DEFINE D2009_OR_LOWER}
{$ENDIF}
{$IFDEF VER200} //Delphi 2009
{$DEFINE D2009_OR_LOWER}
{$ENDIF}
{$IFDEF D2007_OR_LOWER}
{$DEFINE NON_UNICODE}
{$ENDIF}
Nun kann man z.B. Generics nutzen, wenn D2007_OR_LOWER nicht definiert ist.