教程-Close、Halt、terminate、ExitProcess的区别

 
Close:
1.只关闭本窗体
2.当Close是一个主窗体时,程序会退出。
3.Close会发生FormClose事件,FormCloseQuery事件
4.主窗体close以后程序就Application.Terminate了
5.子窗体close以后。没释放,还可以Show出来。
6.也是说主窗口的Close方法其实也是调用Application的Terminate来终止程序的。

Halt:
会发生FormDestory事件,用于强行终止应用程序的执行,返回操作系统(非正常退出方式)。

Application.terminate:
1.是关闭整个程序,包括所有窗体。
2.Application.Terminate以上三个事件都不会发生Application.Terminate就是程序结束了。

ExitProcess(0):
1.直接干净的终止程序。
2.MSDN资料
https://msdn.microsoft.com/library?url=/library/en-us/wcekernl/html/_wcesdk_win32_exitprocess.asp

原文地址:https://www.cnblogs.com/FKdelphi/p/5733965.html