Delphi 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.直接干净的终止程序。

原文地址:https://www.cnblogs.com/guorongtao/p/11504253.html