在窗口(form)中不能正确显示 外部DLL中定义的TFrame (100分)

  • 主题发起人 主题发起人 van163
  • 开始时间 开始时间
V

van163

Unregistered / Unconfirmed
GUEST, unregistred user!
我的dll也是delphi编译出的,
现在再form中调用采用如下代码
FInst :=LoadLibrary('rptDll.dll');

FPointer := GetProcAddress(FInst,'Newframe');

NewFrame := TNewFrame(FPointer);

mframe := Myframe(Application.Handle); //以上是从DLL中得到frame
mframe.ParentFont:=false;
mframe.Parent:=panel2; //这里实现现实, 但是不成功
mframe.Align:=alClient;

// 再加上如下代码, 就能show 出来了, TFrame3是主程序中定义的frame
mframex:=TFrame3.create(nil);
mframex.Parent:=panel2;
mframex.Destroy;
mframex:=nil;
// 我不知道这些代码对程序作了些什么, 反正刚才不能显示的mframe出现了

从这里我可以知道外部的frame 在主程序中显示与主程序frame显示肯定有所不同
但我无法得知何处不同, 还需要进行什么处理才能正确工作, 望高手指点!
 
各位大侠,不要只看,帮忙解决一下问题啦,,,
分不够的话可以再加的拉
 
看来没人愿意回答这个问题了
 
接受答案了.
 
to van163:
老兄,关于使用Dll中的Frame的问题,你解决了吗?
我也在尝试,主要用于数据库中,我们探讨一下好吗?
 
donkey
问题已经基本解决,但在FRAME中不能有GRID,LISTVIEW等控件,否则会非法操作。
你可以考虑不用FRAME,而用FORM。
 
老兄,不用Frame就无法在MDI窗口中使用,我有在dll中封装MDI窗口的例子,可惜
是for delphi5的,在delphi6,winxp中使用,表现为退出是访问非法地址,如果你留下
E-mail,我发给你。
liaojb@21cn.com
msn:liaojb@msn.com
 
我的MAIL是: van163@21cn.com
不过我用的Delphi5+XP :(
 
楼上两位老兄,现在解决了没有。小弟也在找这个问题的答案。有的话还请不吝赐教!
我的Mail: shine2002@21cn.com
谢谢!
 
后退
顶部