dll做MDI子窗体(50分)

  • 主题发起人 可视化
  • 开始时间

可视化

Unregistered / Unconfirmed
GUEST, unregistred user!
MDI窗体:exe做主窗体,dll做子窗体,怎么在exe中调用dll打开子窗体呢?给点代码,谢谢!
 
我没有说清楚么?怎么没人回答?
就是和其他的MDI窗体一样,只不过我的子窗体是用dll做的。
我想在主窗体中调用dll打开子窗体而已。
对高手应该很简单啊!帮忙顶顶啊!
 
建好DLL,封装好窗体,写调用窗体的函数,然后EXPORTS这个函数,EXE里调用DLL的调用窗体函数即可。————————网上搜一下资料,很多的
 
其实这个问题在以前的贴在是非常多的,遇到问题时现在以前的帖子里面搜搜看。
再贴一遍例子出来
在动态连接库中的MDI子窗体:
var
SaveDLLApp:TApplication;
procedure ShowMDIChildForm(MainApp:TApplication);
var
Child:TMDIForm;
begin
if not Assigned(SaveDllApp) then
begin
SaveDllApp:=Application;
Application:=MainApp;
end;
Child:=TMDIForm.Create(Application.MainForm);
Child.Show;
end;
procedure MyLibraryProc(Reason:integer);
begin
if Reason=DLL_PROCESS_DETACH then
if Assinged(SaveDllApp) then
Application:=SaveDllApp;
end;
export ShowMDIChildForm;
begin
DllProc:=@MyLibraryProc;
end.

在调用dll的应用中,用下述方法生MDI窗体;
procedure Form1.Button1Click(Sender:Tobject);
begin
ShowMDIChildForm(Application);
end;
 
顶部