一个窗口关闭的问题!

ninliu 2003-10-10 09:08:03
我在主窗口调用DLL文件中的一个子窗体,数据库访问用ADO方法。最后有一个很奇怪的问题,当我关闭子窗体并释放的时候。主窗体自动变得看不见了,也没有最小化,需要点两次任务栏上的标签才恢复正常。琢磨了一天还没有答案,望各位高手给予一点点的指点。
...全文
71 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
zxw111 2003-10-10
  • 打赏
  • 举报
回复
把Application.Handle:=hndApplication;这句去掉就可以了
ninliu 2003-10-10
  • 打赏
  • 举报
回复
用来释放Dll内存中的Dll文件
ninliu 2003-10-10
  • 打赏
  • 举报
回复
高手赶快来援助一下!!!!!!!!!!!!!
liufuyahong 2003-10-10
  • 打赏
  • 举报
回复
你对WM_USER+117消息作了什么处理?
ninliu 2003-10-10
  • 打赏
  • 举报
回复
这是我的调用语句
Function OpenPPS(hndApplication:THandle;Parent:TWinControl;Connect1:TADOConnection;Connect2:TAdoconnection;Company:String;Department:String;Per_no:String;Per_name:String):LongInt;
begin
Result:=-1;
Application.Handle:=hndApplication;
Main_F:=TMain_F.Create(Application);

windows.SetParent(Main_F.Handle,Parent.Handle);
//调整位置和大小

Main_F.Height:=Parent.Height;
Main_F.Width:=Parent.Width;
Main_F.WindowState:=wsMaximized;

Main_F.ADOConnection1.ConnectionString:=Connect1.ConnectionString;
Main_F.ADOConnection1.Open;
Main_F.showdata;
Main_F.Show;
Result:=LongInt(Main_F);
end;

这是我的释放语句
procedure TMain_F.FormClose(Sender: TObject; var Action: TCloseAction);
begin
PostMessage(Application.Handle,WM_USER+117,LongInt(Main_F),0);
Action:=caFree;
end;
ninliu 2003-10-10
  • 打赏
  • 举报
回复
在Close的时候,caFree已经写了,还向回发送了一个消息。其他Dll都没有问题,就是这个Dll出现了这个问题,极度的郁闷。不会让我从头在来吧
2312 2003-10-10
  • 打赏
  • 举报
回复
1.加断点看看,准是进行相关操作了才出现此情况。
2.不行的话重新做一遍试试
aiunong 2003-10-10
  • 打赏
  • 举报
回复
我只知道调用MDI窗体,在子窗体的ONCLOSE事件中写入action := cafree;
在关闭子窗体时就会关闭了.对于DLL中的子窗体不太清楚你在DLL子窗体中加入试试吧.
ninliu 2003-10-10
  • 打赏
  • 举报
回复
很急,很急!
IORILI 2003-10-10
  • 打赏
  • 举报
回复
帮你up

5,386

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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