关于DLL的问题!高手请进!(50分)

  • 主题发起人 主题发起人 towady
  • 开始时间 开始时间
T

towady

Unregistered / Unconfirmed
GUEST, unregistred user!
我准备把程序中的一些功能(含窗体)做成一个单独的DLL(含窗体),并且在主程序中调用该DLL文件。
具体情况是:
主程序A中有一个panel控件,现在想要在主程序A中调用DLL中的窗体B,并在Panel控件中显示DLL中的窗体B。
请问该如何实现!!谢谢了
 
翻翻已答问题吧,
在dll中包含窗体,有专门帖子讲
至于将窗体放到panel上,创建完窗体置Parent
属性为指定的Panel就可以咯
 
To lanyun2:

DLL部分:
function ShowForm(mainForm:TForm):TForm;stdcall;
var
Form1: TfrmeXMenu
//TfrmeXMenu为DLL部分中的窗体
ptr:PLongInt;
begin
ptr:=@(Application.MainForm);
ptr^:=LongInt(mainForm);
Form1:=TfrmeXMenu.Create(mainForm);
result:=Form1;
end;

调用方:
var
dllform:tform;
begin
dllform:=ShowForm(Application.mainForm);
dllform.parent:=panel1
dllform.show;
...
end;

但是dll中的窗体并没有在panel中显示出来,为什么?
 
ParentWindow 用这个试试
 
多人接受答案了。
 
to qi_jianzhou:
问题解决了,谢谢。分已经给了。
为什么用parentWindow啊??
能说说吗?
 
说实在的,我也不清楚,只是看以前有人问过这个问题,给记住了
 
借贵地一用,请问在VF中调用delphi写的dll可以吗?[?],可以的话,需要注意什么?
 
后退
顶部