Compiler-Direktiven sind spezielle Syntaxkommentare, mit denen wir die Funktionen des Delphi-Compilers steuern können. Der Delphi-Compiler verfügt über drei Arten von Anweisungen: sHexenanweisungen, Parameteranweisungen und bedingte Anweisungen. Durch die bedingte Kompilierung können wir Teile eines Quellcodes abhängig von den festgelegten Bedingungen selektiv kompilieren.
Das DefName präsentiert das sogenannte bedingte Symbol. Delphi definiert mehrere Standard-Bedingungssymbole. Wenn im obigen "Code" der DefName definiert ist, wird der obige Code verwendet $ Sonst wird kompiliert.
Eine häufige Verwendung für die $ IfDef-Direktive ist das Testen der Version des Delphi-Compilers. Die folgende Liste enthält die Symbole, die beim bedingten Kompilieren für eine bestimmte Version des Delphi-Compilers überprüft werden müssen:
Hinweis: Das Symbol VER185 wird beispielsweise verwendet, um den Delphi 2007-Compiler oder eine frühere Version anzuzeigen.
Beispielsweise fügt die in Delphi 5 eingeführte IncludeTrailingBackslash-Funktion "\" am Ende einer Zeichenfolge hinzu, falls diese noch nicht vorhanden ist. Im Delphi MP3-Projekt habe ich diese Funktion verwendet und mehrere Leser haben sich beschwert, dass sie das Projekt nicht kompilieren können - sie haben eine Delphi-Version vor Delphi 5.
Eine Möglichkeit, dieses Problem zu lösen, besteht darin, eine eigene Version dieser Routine zu erstellen - die AddLastBackSlash-Funktion. Wenn das Projekt auf Delphi 5 kompiliert werden soll, wird der IncludeTrailingBackslash aufgerufen. Wenn einige der vorherigen Delphi-Versionen verwendet werden, simulieren wir die IncludeTrailingBackslash-Funktion.
Delphi 2007 verwendet VER180, um die unterbrechungsfreie Kompatibilität mit Delphi 2006 und danach aufrechtzuerhalten fügt VER185 hinzu, um eine Entwicklung zu ermöglichen, die speziell auf Delphi 2007 ausgerichtet sein muss Grund. Hinweis: Jedes Mal, wenn die Schnittstelle einer Einheit den Code ändert, der diese Einheit verwendet, muss sie neu kompiliert werden.