我在我的应用程序中有一个名为test.bpl的包,其中包含一个名为myPackageForm的表单。
当我加载我的包并尝试关闭myPackageForm时,应用程序将终止。
主项目初始化:
主窗体的创建事件(FormCreate):
主窗体点击按钮:
myPackagForm有一个类过程来显示它:
在OnClose过程中有:
作为一个解决方案,我尝试了另一个命令:
主项目初始化:
Application.Initialize;
Application.CreateForm(TMainForm,MainForm);
Application.Run;
主窗体的创建事件(FormCreate):
aPackage := LoadPackage('my bpl path'+test.bpl);
@P_ItemClick := GetProcAddress(aPackage,'ItemClickExcecute');
主窗体点击按钮:
P_ItemClick(Sender);
测试包命令单元: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);
对于我的PackageForm创建;
有人知道在Delphi XE4中使用CreateForm命令时发生了什么吗?这是关于包的问题。