我有我的應用程序中的test.bpl包,它有一個名爲myPackageForm的形式。 加載我的包後,當我想關閉myPackageForm,應用程序將終止。德爾福XE4:關閉內部包裝形式導致應用終止
主要項目初始化:
Application.Initialize;
Application.CreateForm(TMainForm,MainForm);
Application.Run;
的MainForm FORMCREATE:
aPackage := LoadPackage('my bpl path'+test.bpl);
@P_ItemClick := GetProcAddress(aPackage,'ItemClickExcecute');
的MainForm ButtonClick:
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創建;
任何人都可以知道發生了什麼德爾福XE4與包的CreateForm命令?
沒有任何改變。使用CreateForm創建的第一個表單是主要表單。 –
@David Heffernan你說得對。但是爲什麼我在封裝中使用Application.CreateForm命令時在Delphi7中關閉Package Forms時沒有問題? –
我確信我知道發生了什麼事。我會寫一個答案。 –