Spezielle Compiler-Direktiven für Packages

Aus RAD Studio
Wechseln zu: Navigation, Suche

Nach oben zu Packages compilieren

Die folgende Tabelle enthält spezielle Compiler-Direktiven für Packages, die in den Quelltext eingefügt werden können.

Spezielle Compiler-Direktiven für Packages:

C++-Direktive Beschreibung
#pragma package(smart_init)

Diese Direktive stellt sicher, dass die gepackten Units in der Reihenfolge initialisiert werden, die durch ihre Abhängigkeiten festgelegt ist. (Sie wird standardmäßig in die Quelldatei eines Package eingebunden.)

#pragma package(smart_init, weak)

Mit dieser Direktive wird eine Unit schwach eingebunden. Siehe (Direktive in die Quelltextdatei der Unit einfügen.)

Delphi-Direktive Beschreibung
{$IMPLICITBUILD OFF}

Verhindert, dass ein Package in Zukunft implizit neu compiliert wird. Diese Direktive wird in .dpk-Dateien verwendet, wenn Packages mit Low-Level-Funktionen compiliert werden, die sich nur selten ändern, oder wenn der Quelltext des Package nicht weitergegeben wird.

{$G} oder {$IMPORTEDDATA OFF}

Deaktiviert die Erstellung von Referenzen auf importierte Daten. Diese Direktive führt zu schnelleren Speicherzugriffen, verhindert aber, dass die Unit, in der sie verwendet wird, Variablen in anderen Packages referenzieren kann.

{$WEAKPACKAGEUNIT ON}

Die Unit wird schwach eingebunden. Einzelheiten finden Sie unter Verwendung des schwachen Packens.

{$DENYPACKAGEUNIT ON}

Verhindert, dass die Unit in ein Package eingebunden wird.

{$DESIGNONLY ON}

Das Package wird für die Installation in der IDE compiliert. (Nur in .dpk-Dateien.)

{$RUNONLY ON}

Das Package wird nur als Laufzeit-Package compiliert. (Nur in .dpk-Dateien.)

Hinweise: 

  • Wenn Sie die Compiler-Direktive {$DENYPACKAGEUNIT ON} im Quelltext verwenden, wird die Unit nicht in das Package aufgenommen.
  • Die Angabe von {$G-} oder {$IMPORTEDDATA OFF} kann bewirken, dass das Package nicht zusammen mit anderen Packages in derselben Anwendung verwendet werden kann. Packages, die mit der Direktive {$DESIGNONLY ON} compiliert wurden, enthalten zusätzlichen Quelltext, der von der IDE benötigt wird. Derartige Packages sollten in normalen Anwendungen nicht verwendet werden.
  • Bei Bedarf können auch andere Compiler-Direktiven in den Quelltext eines Package aufgenommen werden. Unter Compiler-Direktiven finden Sie Informationen, die hier nicht erläutert werden.

Weitere Direktiven, die in allen Bibliotheken einsetzbar sind, werden unter Packages und DLLs erstellen beschrieben.

Siehe auch