一个程序有多个form,怎么在关闭子form 的时候,连同程序一起关闭,?(10分)

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

zhuifeng

Unregistered / Unconfirmed
GUEST, unregistred user!
form1 是主form ,form2和form3 是子form。我在点击子form上的标题栏中的“关闭”
按纽的时候,form虽然都不见了,可是从 任务管理器中看到这个程序的进程并没有结束。
请问应该怎么才能够在点击标题栏中的“关闭”按纽时在关闭form的时候同时也能
结束程序?
点击标题栏中的“关闭”按纽 响应的是不是 ONCLOSE事件?

ONDESTROY事件是用在什么地方的?
procedure Tform2.FormClose(Sender: TObject; var Action: TCloseAction);
begin
query1.close;
form3.close;
form1.close;
close;
我的上述程序在运行时不能关闭程序,只能关闭form。
 
哪一是主FORM﹐就關哪一個。
 
你的主form没有关闭就想退出程序的话,在上面的事件最后加上一个。
application.terminate 就可以。
 

Application.Terminate;
 
close 改为 application.terminated;
 
在任何一个form的onclose事件中加入application.terminated;
 
同意dadabox
 
在子窗体的OnClose事件中加入
application.terminated;
 
不行啊,我用了上述的方法,加了application.terminate 。可还是不行。
虽然看不见窗体。但是在任务管理器里 还是可以看见进程没有结束。
怎样才能在关闭子form时完全退出程序?
 
不会吧!?
用:Application.Terminate;还不行?
 
用关闭窗口的消息,在你的程序中拦截Close消息,
我没有试过,我想应该可以
 
是的,还是不行,虽然form看不见了,但是在 任务管理器中还是可以看见
procedure Tform2.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Application.Terminate;
end;
我的程序是这样写的,可还是不行!
我想问以下,在点击form中的标题拦上的“关闭”按纽后,会激发哪一个事件?

 
可以直接使用HALT
 
procedure Tform2.FormClose(Sender: TObject; var Action: TCloseAction);
begin
halt;
end;
还是不能从子form中完全结束程序,从任务管理器中还是可以看见进程的。
 
我试过了,可以呀。你说的是什么任务管理器?是你的COMPUTER 有问题吧。
 
我是说的win2k 中的任务管理器。
我在子form中 点饥“关闭”按纽后,在任务管理器中还是可以看见这个进程的。
是不是点饥“关闭”按纽后,需要过一段时间进程才能结束,而不是立即结束?
 
你win2k的管理器有个刷新的延时造成的,如果你去结束他可能会说没有权利访问,
然后就消失了~!

不用管他。


Application.Terminate;
是立即结束程序运行的意思
Halt;
是异常终止程序,并且可以设置返回值
Halt(n);
 
的确。Application.Terminate可以使程序尽快结束。
在你win2k的管理器中选择"查看"--"立即更新"。然后再看看
 
Application.Terminate 最好
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
I
回复
0
查看
503
import
I
D
回复
0
查看
1K
DelphiTeacher的专栏
D
后退
顶部