我在dll中創建表單。沒有包。通過使用導出的過程調用dll中的窗體:Delphi:在dll中定位表單
procedure ShowAbout(const AppHandle: THandle); stdcall;
var
aHandle: THandle;
form: TfrmAbout;/my form in some other unit in the dll
begin
aHandle:= Application.Handle;
Application.Handle:= AppHandle;
form :=TfrmAbout.Create(Application);
form.ShowModal;
form.Free;
Application.Handle:= aHandle;
end;
窗體顯示良好,沒有問題。現在,我想要做的唯一事情就是定位爲poMainFormCenter(我希望它總是顯示在主窗體(調用dll的窗體)上。
我試過使用窗體:= TfrmAbout .Create(Application.MainForm);?等等,但沒有運氣
任何技巧,這將有助於在這裏
您應該傳遞'Application'指針而不是僅僅窗口句柄。這很粗糙,但不幸的是不能以其他方式工作 –
絕對不會傳遞'Application'指針。您無法將對象從VCL的一個實例傳遞到另一個實例。您需要爲此使用運行時軟件包。 –