Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.080 Beiträge
 
Delphi 12 Athens
 
#30

AW: Delphi Wartung vs. VS Wartung

  Alt 7. Okt 2014, 02:47
Wer es richtig macht, nutzt eine inc Datei, die aufwärtskompatibel ist, so wie Jedi.inc. Da muss man bei Benutzung der DELPHIXXX_UP Direktiven garnüscht ändern.
Oder man benutzt die schon bei Borland eingeführten Conditional Expressions mit den Konstanten CompilerVersion, bzw. RTLVersion, und kommt ohne eine INC aus.

Früher waren in einigen der INCs, bzw. im System auch "Features" als DEFINEs angelegt, mit denen man arbeiten konnte, anstatt auf eine Version zu prüfen, was auch irgendwie verständlicher war, aber bei Vielen der wirren Änderungen in letzter Zeit, ist das so eh nicht mehr verwendbar, oder schafft Emba es wirklich bei jedem Update auch die RTL-/CompilerVersion zu ändern?
Auf diese Weise war der Code/die Prüfung auch für unterschiedliche Compiler/Bibliotheken (z.B. Delphi, Lazarus, FPC, ...) nutzbar.

Bei meinen Conditional Expressions prüfe ich dann oftmals lieber auf das Vorhandensein bestimmter Typen/Funktionen, damit hab ich mir im Code auch gleich oftmals den Kommentar erspart, was ich eigenntlich prüfen wollte.

{$IF Declared(TEdit)} / {$IF Defined(WIN32)} / {$IF CompilerVersion >= 20}

Vorallem da man hier ganz praktisch mehrere Prüfungen kombinieren kann, anstatt das Zeug umständlich verschachteln zu müssen.
{$IF Defined(WIN32) and (CompilerVersion >= 20) and (CompilerVersion <= 23)}

Wenn man das mit dem XE nicht eingeführt hätte, dann hätte ich mir eine Integer/Float-Konstante "DelphiVersion" gewünscht.
(Solange das mit dem XE bleibt, oder zumindestens die Nummer nicht mal wieder auf 1 zurückgesetzt wird, wäre das ja immernoch eine Option, wenn man "ab XE" zählt)
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.

Geändert von himitsu ( 7. Okt 2014 um 02:57 Uhr)
  Mit Zitat antworten Zitat