Ja, es wäe schön, wenn es einfach ginge, mit nur einer Compiler/Delphi-VersionsInformationsKonstante, inkl. Version, Subversion/Update und womöglich auch Patch und Hotfix,
aber wenn das nicht geht, dann muß man eben selber auf irgendwas Anderes prüfen.
Es gibt ja für Vieles mehrere Wege:
Delphi-Quellcode:
{$IF CompilerVersion >= 20.0} // oder so ein perverser {$IFDEF VER123}-Marathon, der aber nur für alte/bekannte Versionen funktioniert und "neue" Delphis noch nicht kennt
{$IF Declared(UnicodeString)}
{$IF SizeOf(Char) = 2}
{$IFDEF UNICODE}
OK, etwas "Lesbares" wäre auch mal zu geil.
Delphi-Quellcode:
{$IF (DelphiVersion >= 'XE') and (DelphiVersion <= '11.2')}
{$IF (DelphiVersion >= 'XEu2') and (DelphiVersion <= '10.1.2')}
Aber sowas kann eigentlich NIE funktionieren, es sei denn der Compiler würde sich online eine aktuelle Versionsliste besorgen können,
denn ein älterer Compiler kennt neue Delphis noch nicht und weiß z.B. somit nicht dass XE zwar größer als 7 ist, aber kleiner als 10 ist, wenn er die 10 noch nicht kennt.
Wenn Delphi bei den aktuellen Zahlen bleiben würde und Zahlen immer nur größer werden, dann wäre es einfacher, aber wer weiß ob nicht doch irgendwann wieder sowas wie "XE" kommt.