我把子窗体封装在DLL中,当主窗体调用封装的DLL子窗体时,总报错,(100分)

  • 主题发起人 主题发起人 chenliangfu
  • 开始时间 开始时间
C

chenliangfu

Unregistered / Unconfirmed
GUEST, unregistred user!
我把子窗体封装在DLL中,主窗体是MDIForm,封装在DLL中的子窗体为MDIChild,
当主窗体调用封装的DLL子窗体时,总报没有激活的MDIform .

急急急急
 
program xxx
....
uses sharemem;

library xxx
....
uses sharemem;
Appliation.Handle=Ahandle(主程序的Application.Handle)

 
你的问题不是太清楚,但
你可看看你所调用的子窗口被Create没有?
不用DLL时,它通常是自动创建,但DLL属另一进程,它不会被自动创建.
 
留个EMAIL,我发一个DEMO你看看吧
 
hailer[:D]@tom.com 谢谢
 
我也要个Demo 谢谢!

www.china.007@163.com
 
是hailer@tom.com吗?发给你了
 
app2001 老兄, 给我也发一个吧! www.china.007@163.com
 
我改过了,没错误了,你增加以下代码就行了:并且数据集active改成false,创建了一个child时再令它为true;

unit childUnit;

uses
..., ActiveX;

......

initialization
CoInitialize(nil);

finalization
CoUnInitialize;

end.
 
不能直接设置MDIform,MDIChild属性。否则会报错,都要用普通窗体,做后设置一些属性:
...
...AChildForm:=TForm.creat(FatherForm);
...AChildForm.parent:=FatherForm;
...
 
一个很好的例子:
调用DLL中窗体相关演示源码
http://www.2ccc.com/article.asp?articleid=937
 
app2001 老兄, 给我也发一个吧!lcglzw@tom.com
 
后退
顶部