LoadPackage 関数を使ってパッケージをロードする
LoadPackage 関数を呼び出すことによって,実行時にパッケージをロードすることもできます。LoadPackage は,name パラメータで指定されたパッケージをロードし,重複するユニットがないかチェックし,パッケージ内の全ユニットの初期化ブロックを呼び出します。たとえば,次のコードはファイル選択ダイアログでファイルを選択すると実行されます。
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));
パッケージを動的にアンロードするには UnloadPackage を呼び出します。この場合に,そのパッケージで定義されているクラスのインスタンスがあればそれを破棄し,そのパッケージによって登録されたクラスの登録を解除するのを忘れないでください。