是否有对于整个系统关闭的方法(例如appplication.close 只是比喻)(50分)

  • 主题发起人 主题发起人 263
  • 开始时间 开始时间
2

263

Unregistered / Unconfirmed
GUEST, unregistred user!
我想在建立主窗口前,建立一个类对象
如果这个类对象,建立不成功,或出现错误 整个系统结束 释放
有没有这样的方法
 
application.halt
 
application.terminate 比较安全,terminate 都搞不定就只好使用 halt
 
好象不行
没有application.halt这个方法
 
system.halt or sysutils.halt
 
我试过
system.halt

application.terminate
都行

问题:
那两者有什么区别
特别mikedeakins说application.terminate
比较安全
 
terminate 是利用消息处理的方法来结束程序的。
halt 就象是 c/c++ 的exit()。不发送消息,进程直接停止。
 
TA p p l i c a t i o n . Te r m i n a t e ( )用于终止应用程序的执行。
与H a l t ( )不同的是,Te r m i n a t e ( )会隐含调用
P o s t Q u i t M e s s a g e ( )看看还有什么消息要处理。
 
halt将会引起一个非正常中断,并返回操作系统。
而application.terminate方法将调用windows的PostQuitMessage函数
进行有序正常的关闭,当窗口关闭时,这个方法将在收到WM_QUIT消息时自动调用。
 
当然你也可以直接postmessage一个消息给你的应用程序,让他关闭。
 
halt杀手级的
 
Application.Terminate就行了
 
如果你要创建的类不依赖于Application和主窗口,可以改一下Project的源文件,
比如改成:
program Project1;
uses
Forms,
Unit1 in 'Unit1.pas' {Form1};
{$R *.RES}
begin
if 创建对象成功 then
begin
Application.Initialize;
Application.CreateForm(TForm1, Form1);
Application.Run;
end;
end.
 
Halt不释放资源
 
多人接受答案了。
 
后退
顶部