Hwa*_*wau 19 delphi halt terminate
我想终止一个Delphi应用程序而不执行任何其他代码行,我想知道哪个是正确的方法来执行此操作.此外,我想知道我现在正在做的事情是否有问题.基本上,我的代码看起来像这样:
//Freeing all objects (Obj1.Free, etc..)
Application.Terminate;
Halt;
Run Code Online (Sandbox Code Playgroud)
这是停止Delphi应用程序的正确方法还是以其他方式完成?
Rem*_*eau 31
Application.Terminate()打破该消息中循环TApplication.Run()和TForm.ShowModal(),从而允许主线程正常退出,执行必要的清理等
Vcl.Forms.TApplication.Terminate
结束应用程序执行.
调用
Terminate以编程方式结束应用程序.通过调用Terminate而不是释放应用程序对象,您可以允许应用程序以有序的方式关闭.
Terminate调用Windows APIPostQuitMessage函数以执行应用程序的有序关闭.Terminate不是立即的.Terminate在WM_QUIT消息上自动调用,并在主窗体关闭时调用.
Halt()另一方面,是立即异常终止.基本上,将进程从内存中删除.仅在没有其他选项的极端情况下使用它.
启动程序的异常终止.
暂停执行程序的异常终止并返回操作系统.
要执行Delphi应用程序的正常终止,请
Terminate在全局Application对象上调用该方法.如果应用程序不使用提供Application对象的单元,请Exit从主程序块调用该过程.
我想在不执行任何其他代码的情况下终止Delphi应用程序.
既Application.Terminate不会也Halt不会实现这一目标.前者执行有序终止.很多代码都会执行.打电话Halt更有希望.这是异常终止.但是执行单元定型代码.
如果您希望尽快退出,请沿途执行最少量的代码,请致电ExitProcess.这是最后一步,Halt通过ExitProcess直接调用,您可以避免Halt在调用之前执行的所有步骤ExitProcess.
| 归档时间: |
|
| 查看次数: |
30171 次 |
| 最近记录: |