Hallo,
ich habe ein kleines Problemchen: Abhängig davon, ob eine Delphi Anwendung die
VCL verwendet oder nicht, möchte ich entweder TThread.Synchronize verwenden oder eine eigene Non-
VCL Methode. Um festzustellen, ob die
VCL initialisiert ist oder nicht, müsste ich aber die
Unit "Forms" einbinden, was bekanntermaßen die
VCL automatisch initialisiert und die Größe der ausführbaren Datei aufbläht.
Momentan verwende ich folgenden Code, ich habe jedoch berechtigte Zweifel (TComponent wird erst mit der Registration von "TMenuItem" registriert), ob dieser Code mit allen Delphi-Versionen funktioniert:
Delphi-Quellcode:
function AcVCLActive: Boolean;
begin
//The VCL can only be active, if the TComponent class is registered
result := GetClass('
TComponent') <>
nil;
end;
Gibt es eine (zuverlässige) Möglichkeit festzustellen (entweder zur Compile- oder zur Laufzeit) ob die Anwendung die
VCL (ich meine damit das vorhanden sein von TApplication) verwendet? Die Units "SysUtils" und "Classes" dürfen dabei verwendet werden.
Schonmal vielen Dank,
Andreas