1.Anwendungsvariable (Standardanwendung)
Beschreiben Sie Informationen auf Anwendungsebene
Einheit
Formulare
var Anwendung: TApplication;
beschreiben
Wenn Sie ein neues Projekt erstellen, erstellt Delphi standardmäßig ein Anwendungsobjekt und weist es der Anwendungsvariablen zu, die sich in der Forms-Einheit befindet. Die Anwendung verfügt über mehrere Eigenschaften, die verwendet werden können, um Informationen über die Anwendung abzurufen, während die Anwendung ausgeführt wird.
Beispiel
Dieser Code zeigt den Namen Ihres Projekts im Bearbeitungsfeld an:
PROzedur TForm1.Button1Click(Sender: TObject);
beginnen
Edit1.Text := Application.Title;
Ende;
2.CmdShow-Variable
CmdShow wird an die Windows-API-Funktion ShowWindow übergeben.
Einheit
System
var CmdShow: Integer;
beschreiben
Wenn die Anwendung im Programm das Hauptfenster erstellt, enthält die CmdShow-Variable die Parameterwerte, die Windows voraussichtlich an ShowWindow übergeben wird.
In der Bibliothek (DLL) ist CmdShow immer 0.
3.CompilerVersion-Konstante
Gibt die Versionsnummer des Delphi-Compilers an
Einheit
System
const CompilerVersion = 15.0;
beschreiben
Verwenden Sie CompilerVersion, um die Gesamtkonfigurationsebene des Delphi-Compilers zu testen. Dies ist nützlich, wenn Sie Code konditionalisieren möchten, der neuere Funktionen in der Delphi-Sprache nutzt.
4.ExitProcessProc-Variable
ExitProcessProc gibt die letzte Prozedur an, die ausgeführt werden soll, bevor die Anwendung heruntergefahren wird.
Einheit
System
var ExitProcessProc: procedure;
beschreiben
Weisen Sie ExitProcessProc zu, um den Prozess anzugeben, den Sie ausführen möchten, bevor die Anwendung geschlossen wird. Der Wert von ExitProcessProc ist eine Prozedur ohne Parameter.
5.GetFileVersion-Funktion
Dateiversion zurückgeben
Einheit
SysUtils
function GetFileVersion(const AFileName: string): Cardinal;
beschreiben
GetFileVersion gibt die höchstwertigen 32 Bits der binären Versionsnummer einer Datei zurück. AFileName gibt den Dateinamen an, der über denselben Pfad wie die LoadLibrary-Funktion durchsucht werden kann.
6.GetModuleName-Funktion
Gibt den vollständig qualifizierten Namen des Moduls für das angegebene Handle zurück.
Einheit
SysUtils
Funktion GetModuleName(Module: HMODULE): string;
beschreiben
Rufen Sie GetModuleFileName auf, um den vollständig qualifizierten Namen des Moduls für das angegebene Handle zu erhalten.
Modul ist das Handle des Moduls.
7.HInstanzvariable
Handle, das Windows dem Modul bereitstellt.
Einheit
SysInit
var HInstance: LongWord;
beschreiben
HInstance enthält ein Instanzhandle einer von Windows bereitgestellten Anwendung oder Bibliothek
8.HintWindowClass-Variable
Gibt die Klasse des Fensters an, das zum Anzeigen von Hilfehinweisen verwendet wird.
Einheit
Formulare
var HintWindowClass: THintWindowClass = THintWindow;
beschreiben
Wenn eine Anwendung einen Hilfehinweis anzeigt, erstellt sie eine Instanz von HintWindowClass, um das Fenster darzustellen, das zum Anzeigen des Hinweises verwendet wird. Anwendungen können dieses Fenster anpassen, indem sie eine abgeleitete Klasse von THintWindow erstellen und diese dann beim Start der Anwendung der Variablen HintWindowClass zuweisen.
9.InitProc-Variable
InitProc ist der letzte installierte Initialisierungsprozess.
Einheit
System
var InitProc: Zeiger;
beschreiben
Weisen Sie InitProc zu, um eine Prozedur anzugeben, die Sie beim Start der Anwendung ausführen möchten. InitProc ist eine parameterlose Prozedur. Zum Beispiel:
Prozedur MyInitProcedure;
...
Initialisierung
InitProc := @MyInitProcedure;
beginnen
Ende;
Der Variablen InitProc kann nur eine Initialisierungsprozedur zugewiesen werden. Wenn Ihre Anwendung mehrere Initialisierungsprozeduren definiert, wird nur die letzte InitProc zugewiesene Prozedur ausgeführt. Damit andere Initialisierungsprozeduren ausgeführt werden können, müssen Sie die Prozeduren miteinander „verketten“ und dabei den alten Wert vom neuen Wert von InitProc aufrufen. Der folgende Code der ComObj-Einheit speichert beispielsweise den ursprünglichen Wert von InitProc, bevor er einen neuen Wert zuweist, und ruft dann den gespeicherten Wert während des neu zugewiesenen Initialisierungsprozesses auf:
SaveInitProc := InitProc;
InitProc := @InitComObj;
10.IsConsole-Variable
Gibt an, ob das Modul als Konsolenanwendung kompiliert ist.
Einheit
System
var IsConsole: Boolean;
beschreiben
Wenn das Modul als Konsolenanwendung kompiliert wurde, ist die IsConsole-Variable True. Dies gilt sowohl für eine ausführbare Datei als auch für eine DLL.
11.IsLibrary-Variable
Gibt an, ob das Modul eine DLL ist.
Einheit
System
var IsLibrary: Boolean;
beschreiben
Wenn das Modul eine DLL ist, ist die IsLibrary-Variable True.
12.JITEnable-Variable
Steuert, wann der Just-in-Time-Debugger aufgerufen wird.
Einheit
System
var JITEnable: Byte = 0;
beschreiben
Verwenden Sie JITEnable, um anzugeben, welche Art von Ausnahme den Just-in-Time-Debugger auslöst.
Wenn JITEnable 0 ist (der Standardwert), werden alle Ausnahmen mithilfe des Ausnahmebehandlungsmechanismus der Anwendung behandelt. Der zeitnahe Debugger wird nur aufgerufen, wenn die Anwendung keinen Mechanismus zum Abfangen von Ausnahmen bereitstellt. Beachten Sie, dass mit Ausnahme der Initialisierungs- und Finalisierungsbereiche in der Delphi-Einheit jede Anwendung, die die Forms-Einheit enthält, eine Ausnahmebehandlung (über das Anwendungsobjekt) bereitstellt und den zeitnahen Debugger nicht auslöst. (Beachten Sie, dass jede Anwendung, die die Forms-Einheit enthält, eine Ausnahmebehandlung bereitstellt (über das Anwendungsobjekt) für alle außer den Initialisierungs- und Finalisierungsabschnitten und löst nicht den Just-in-Time-Debugger aus.
Wenn JITEnable 1 ist, jede nicht native Ausnahme (ausgelöst durch Code, der mit anderen Produkten kompiliert wurde). löst den Echtzeit-Debugger aus. Native Ausnahmen werden vom Ausnahmebehandlungsmechanismus der Anwendung behandelt.
Wenn JITEnable größer als 1 ist, lösen alle Ausnahmen den Echtzeit-Debugger aus.
HINWEIS: Wenn Sie die IDE installieren, wird sie als zeitnaher Debugger registriert. Wenn Sie andere Tools mit Debuggern installiert haben, haben diese sich möglicherweise selbst registriert und die Registrierung der IDE überschrieben.
13.Sprachenfunktion
Listen Sie das Gebietsschema auf, für das Unterstützung verfügbar ist.
Einheit
SysUtils
Funktion Sprachen: TLanguages;
beschreiben
Verwenden Sie den von Languages zurückgegebenen Wert, um Informationen zu den vom System unterstützten Gebietsschemas zu erhalten. Diese Funktion ist nur auf der Windows-Plattform verfügbar
14.MainInstance-Variable
Gibt das Instanzhandle der ausführbaren Hauptdatei an.
Einheit
System
var MainInstance: LongWord;
beschreiben
Verwenden Sie MainInstance, um ein Instanzhandle für die ausführbare Hauptdatei in einer Anwendung abzurufen. Dies ist in Anwendungen nützlich, die Laufzeitbibliotheken oder -pakete verwenden, wenn Sie ein Handle für die ausführbare Datei und nicht für die Bibliothek benötigen.
Hinweis: Verwenden Sie MainInstance nicht, wenn Sie eine CLX-Dynamic-Link-Bibliothek (Windows) oder ein freigegebenes Objekt (Linux) aus einer ausführbaren Datei ausführen, die mit anderen Tools kompiliert wurde.
15.MainThreadID-Variable
Gibt den Hauptausführungsthread im aktuellen Modul an.
Einheit
System
var MainThreadID: LongWord;
beschreiben
Verwenden Sie MainThreadID, um die Thread-ID des Hauptausführungsthreads abzurufen (der aktuelle Thread, wenn das Modul initialisiert wird).
Während des Debuggens wird diese Haupt-Thread-ID im Thread-Statusfeld angezeigt.
Unter Windows ist der MainThreadID-Wert mit der Thread-ID kompatibel, die für einige Win32-API-Aufrufe erforderlich ist.
16.NoErrMsg-Variable
Steuert, ob die Anwendung eine Fehlermeldung anzeigt, wenn ein Laufzeitfehler auftritt.
Einheit
System
var NoErrMsg: Boolean = False;
beschreiben
Legen Sie unter Windows NoErrMsg fest, um zu steuern, ob eine Meldung angezeigt wird, die darauf hinweist, dass ein Laufzeitfehler aufgetreten ist. Wenn „NoErrMsg“ den Wert „false“ (Standardeinstellung) hat, führen Laufzeitfehler dazu, dass die Anwendung ein Meldungsfeld anzeigt, in dem die Art des aufgetretenen Fehlers vorgeschlagen wird. Wenn NoErrMsg wahr ist, werden diese Meldungen unterdrückt.
Unter Linux hat NoErrMsg keine Auswirkung.
Hinweis: Die SysUtils-Einheit wandelt die meisten Laufzeitfehler in Ausnahmen um. Wenn Ihre Anwendung SysUtils enthält, wird das Laufzeitfehlermeldungsfeld möglicherweise nicht angezeigt, selbst wenn NoErrMsg „false“ ist.
17.PopupList-Variable
Bietet eine zentralisierte Verarbeitung von Windows-Nachrichten, die an Popup-Menüs gesendet werden
Einheit
Menüs
var PopupList: TPopupList;
beschreiben
Verwenden Sie PopupList, um auf alle Popup-Menüs in der Anwendung zuzugreifen oder um auf das Fensterhandle des Fensters zuzugreifen, das auf Popup-Menümeldungen reagiert. PopupList verwaltet eine Liste aller in der Anwendung erstellten Popup-Menükomponenten. Diese Liste enthält ein Handle für ein ausgeblendetes Fenster, das Windows-Nachrichten, die an diese Popup-Menüs gesendet werden, zentral verarbeitet.
18.RTLVersion-Konstanten
Gibt die Versionsnummer der Delphi-Laufzeitbibliothek an.
Einheit
System
const RTLVersion = 15.0;
beschreiben
Verwenden Sie RTLVersion, um die Versionsnummer der Delphi-Laufzeitbibliothek zu überprüfen, die nicht vom Versionsstand des Compilers abhängt.
19.Bildschirmvariable
Stellt ein Bildschirmgerät dar
Einheit
Formulare
var Bildschirm: TScreen;
beschreiben
Die Screen-Variable ist eine TScreen-Komponente, die den Bildschirm des Systems darstellt, auf dem die Anwendung ausgeführt wird. Standardmäßig erstellt die Anwendung eine Bildschirmkomponente basierend auf Informationen über das aktuelle Bildschirmgerät und weist sie der Screen-Variablen zu.
20.Win32Plattformvariablen
Gibt den Bezeichner der Win32-Plattform an
Einheit
SysUtils
var Win32Platform: Integer = 0;
beschreiben
Win32Platform wird verwendet, um den Typ der Win32-Plattform zu identifizieren, auf der das System ausgeführt wird. Dies wird einer der folgenden Werte sein:
Wertbedeutung
VER_PLATFORM_WIN32s System ist Win32
VER_PLATFORM_WIN32_WINDOWS-System ist Windows 95
VER_PLATFORM_WN32_NT Das System ist Windows NT
Win32Platform ist nur unter Windows verfügbar.