Packages mit der Funktion LoadPackage laden

Aus RAD Studio
Wechseln zu: Navigation, Suche

Nach oben zu Packages in Anwendungen laden

Packages können zudem durch einen Aufruf der Funktion System.SysUtils.LoadPackage zur Laufzeit geladen werden. LoadPackage lädt das im Parameter Name angegebene Package, prüft auf doppelte Units und ruft den Initialisierungsblock für alle Units auf, die im Package enthalten sind. Der Quelltext im folgenden Beispiel wird ausgeführt, wenn der Benutzer in einem Dateiauswahl-Dialogfeld eine Datei auswählt.

with OpenDialog1 do
  if Execute then
    with PackageList.Items do
      AddObject(FileName, Pointer(LoadPackage(FileName)));
if (OpenDialog1->Execute())
	PackageList->Items->AddObject(OpenDialog1->FileName,
	(TObject *)LoadPackage(OpenDialog1->FileName));


Um ein Package dynamisch aus dem Speicher zu entfernen, rufen Sie die Funktion UnloadPackage auf. Allerdings ist hier Vorsicht geboten: Sie müssen alle Objekte freigeben, deren Klassen in dem Package enthalten sind, und die Registrierung aller durch das Package registrierten Klassen aufheben.

Siehe auch