怎样关闭form?

ygfnet 2003-02-28 11:30:10
我用showmodal打开的form,但用close无法关掉它,大家能告诉我为什么吗?更好的处理方法是什么呢?谢谢!
...全文
128 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
京霾 2003-02-28
  • 打赏
  • 举报
回复
showmodalform1的close不是真正意义上的关闭,因为它没有释放内存。并且他close时还要返回一个值,所以即使执行了close,还要往下执行因为他必须把这个过程执行完毕,但是他执行到另一个showmodalform2时就会停下来,等待showmodalform2的返回值。只有showmodalform2返回了一个值后(即关闭),就会接着执行下面的代码!
(说的很乱,别见怪!)
你可以试试!
weitao999 2003-02-28
  • 打赏
  • 举报
回复
close后面有代码,close就不会起作用,因为如果close了,也就是释放了,那其后的代码就不会执行了,支持楼上。
ly_liuyang 2003-02-28
  • 打赏
  • 举报
回复
这样会好些
form1.Hide;
form2.showmodal;
form1.close;
ygfnet 2003-02-28
  • 打赏
  • 举报
回复
form1是showmodal打开的,我现在在form1中的按钮添加了以下代码:
form1.close;
form2.showmodal;
form2打开了,但form1并没有关闭!!
为什么?
skyclin 2003-02-28
  • 打赏
  • 举报
回复
你是从哪里控制这个关闭按钮,按道理是不会出现这种情况!
这果是从另外一个窗体关闭这个form的话,就无法获得另外窗体的控制权,因为你是由showmodal打开这个form窗体。Destroy这个方法。在form窗体的close事件中加入这样的语句
action:=cafree;
idilent 2003-02-28
  • 打赏
  • 举报
回复
不会吧,是不是子窗口,还是在close事件中作了什么?
anh 2003-02-28
  • 打赏
  • 举报
回复
你可以在onclose 中写上这样的代码
begin
...
Action:=cafree;
form1:=nill;
...
end;

5,930

社区成员

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

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