有关调用dll中窗体的问题,谁教我?(5分)

  • 主题发起人 zhangweizw
  • 开始时间
Z

zhangweizw

Unregistered / Unconfirmed
GUEST, unregistred user!
我编了一个很简单的dll,其中包含一个窗体。
我用程序调用dll并显示其中的窗体,一切正常。
可是当我的程序退出时报错,提示“无效的窗口句柄”

这是怎么回事?有谁碰到过一样的问题吗?
 
好象Dll中的窗体要释放了才能完整退出
 
你所说的窗体释放是什么意思?能说详细点吗?
 
在你的工程文件单元的uses 语句第一个位置加上sharemem试试
 
加上去了,错误依旧……
 
把你的DLL贴出来看看
 
贴出来看不太清楚的,你给个地址,我发给你看看好不好?

谢谢了!!!
 
nj_wangzhen@sina.com 帮你看看吧,搞不定不要用臭鸡蛋......
 
程序给你发过去了,你帮我看看吧,谢谢!!!
 
我的信箱没看到你的邮件再试试
 
我做过,可以贴出来看看。
 
程序我又给你发过去了
 
implementation
procedure ShowDllForm(ACaption:TCaption;AHandle:THandle);external'FormDll.Dll';
procedure TForm1.Button1Click(Sender: TObject);
begin
ShowDllForm('Dll Form',Application.Handle);
end;
 
dll中只有一个窗体
 
我也有过这问题,后来使用显式调用就可以了,使用LoadLibrary函数
 
procedure ShowDllForm(ACaption:TCaption;AHandle:THandle);stdcall;external'FormDll.Dll';
再试试
 
我试过的,动态调用一点问题都没有,但是静态调用就会出现那样的错误。
不知道为什么
 
把你的dll代码发过来。
zhaohai9@163.net
 
To:52free

我照你说的加上一个Stdcall,还是出现一样的错误
 
代码看过了。
是啊,调用的时候加个stdcall;就ok了。
 
顶部