调用DLL窗体后的问题?

zgjob 2005-10-24 08:13:33
调用DLL窗体后,将调出的窗体最小化,不能使用原主窗体的功能.如何在不关闭调用出的DLL窗体的情况下,使用主窗体?
...全文
136 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
zgjob 2005-10-24
  • 打赏
  • 举报
回复
改showmodal;为show;后显示不出来窗体?
三面来风 2005-10-24
  • 打赏
  • 举报
回复
ShowModal; { 模式化显示窗体 }---->show
zgjob 2005-10-24
  • 打赏
  • 举报
回复
我的调用DLL过程是这样的,哪位大哥帮我改一下!
procedure Dowgrk(H: THandle; AConn: TADOConnection; S: string; N: Integer);
begin
CoInitialize(Nil);
Application.Handle := H; { 将过程的句柄赋值为调用者的句柄 }
{ 上面语句的作用在于, DLL的句柄和调用者的句柄相同,在任务栏中就不会各自出现一个任务标题了。 }
with Tfrmwgrk.Create(Application) do
try{ 创建窗体 }
adoconnection1.ConnectionString:=aconn.ConnectionString;
statusbar1.Panels[1].Text:='当前登录用户:'+S;
Lb_czy.Caption:=S;
ShowModal;; { 模式化显示窗体 }
finally
adoconnection1.Connected:=false;
Free; { 调用结束时销毁窗口 }
Application.Handle:= OldHandle;
CoUninitialize;
end;
end;
yueing8 2005-10-24
  • 打赏
  • 举报
回复
将DLL中的窗体 Showmodal改为 show,
不过需要注意主窗体调用DLL时的语句写法,以免这边调用然后就释放啦
luckyboy97 2005-10-24
  • 打赏
  • 举报
回复
改变显示方式,以及显示类型就OK了
zgjob 2005-10-24
  • 打赏
  • 举报
回复
请问应该怎样显示才行?
aiirii 2005-10-24
  • 打赏
  • 举报
回复
估计你是用showModal 的方式显示窗口,那当然会出现你说的
jianghd 2005-10-24
  • 打赏
  • 举报
回复
当然了,你用了try ... finally 后,执行了show之后又马上释放掉了,改一下你的Dowgrk过程,在窗体关闭时做finally中的代码

16,748

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 语言基础/算法/系统设计
社区管理员
  • 语言基础/算法/系统设计社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧