Packages mit der Funktion LoadPackage laden
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.