怎样关闭窗体?(50分)

  • 主题发起人 主题发起人 AKang
  • 开始时间 开始时间
A

AKang

Unregistered / Unconfirmed
GUEST, unregistred user!
我的应用程序启动时建了几个窗体,怎样在程序退出时,确保其它窗体也关闭了。
虽然它应该是关闭了,但我总觉得还有资源没释放似的,不放心。
在VB里面可以这样
For Form in Forms
form.Close
但在delphi里怎样写?
 
呵呵,一样
form.close;
 
实在不行,这样也可以
form2.free;
form3.free;
close;
 
没关系, 主窗口一关,其他的自动释放!!!!
 
你可以在Project菜单上选择View Source
你会发现所有的窗口都是这样建立的
比如你有两个窗口form1,form2;
Application.CreateForm(TForm1, Form1);
Application.CreateForm(TForm2, Form2);
所以你所建立的窗口的拥有者都是Application即应用程序,所有当应用程序退出时
他所拥有的窗口都会被清理,所以不必担心释放问题
 
主窗口控制一切
 
application.Terminate;强制结束
 
除非你写了

Form1:=Tform1.create(nil);

那样的话,要手工释放了。

不是主窗体控制一切,是窗体的Owner负责释放窗体
 
1。应用程序里面 使用到的资源要自己释放,如GETMEM、FREEMEM;NEW、DIPOSE;
CREATE、FREE;SELECTOBJECT、DELETEOBJECT。。。

2。至于你应用程序里面的多个窗体,如果是用CREATE动态创建调用,则要调用FREE
释放,如果只是SHOW、SHOWMODAL等等,CLOSE就完事,如果没有CLOSE直接关闭
MAINFORM也就了事了。

3。知道了,就DON‘T WORRY 了。
 
哪有那么多麻烦?只要关闭了主窗体,程序就结束,所有窗体自动被关闭、释放,根本不用
操心。
 
哎 真是可惜这样的小问题多没强到分 呵呵 :) 下次一定要赶早
 

Similar threads

后退
顶部