アプリケーションに test.bpl パッケージがあり、myPackageForm という名前のフォームがあります。myPackageForm を閉じたいときにパッケージを読み込んだ後、アプリケーションが終了します。
メイン プロジェクトの初期化:
Application.Initialize;
Application.CreateForm(TMainForm,MainForm);
Application.Run;
MainForm FormCreate :
aPackage := LoadPackage('my bpl path'+test.bpl);
@P_ItemClick := GetProcAddress(aPackage,'ItemClickExcecute');
MainForm ボタンクリック:
P_ItemClick(Sender);
testPackage CommandsUnit :
Procedure ItemClickExecute(Sender : TObject)
begin
TmyPackageForm.ShowForm();
end;
exports
ItemClickExecute;
end.
myPackagForm には、それを示すクラス プロシージャがあります。
Class Procedure TmyPackagForm.ShowForm;
begin
if not Assigned(myPackagForm)
myPackagForm := Application.CreateForm(TmyPackagForm ,myPackagForm );
myPackagForm.Show;
end;
そして、OnClose プロシージャには次のものがあります。
Release;
解決策として、別のコマンドを試します:
myPackagForm := TmyPackagForm.Create(Application);
myPackagForm の作成に。
パッケージでCreateFormコマンドを使用してDelphi XE4で何が起こったのか知っている人はいますか?