我的应用程序中有一个 test.bpl 包,它有一个名为 myPackageForm 的表单。在我想关闭 myPackageForm 时加载我的包后,应用程序将终止。
主要项目初始化:
Application.Initialize;
Application.CreateForm(TMainForm,MainForm);
Application.Run;
主窗体窗体创建:
aPackage := LoadPackage('my bpl path'+test.bpl);
@P_ItemClick := GetProcAddress(aPackage,'ItemClickExcecute');
MainForm 按钮单击:
P_ItemClick(Sender);
testPackage 命令单元:
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 创建;
任何人都可以知道在Delphi XE4中使用包上的 CreateForm 命令发生了什么吗?