Delphi Close、Halt、terminate、ExitProcess的区别

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以上三个事件(FormCloseQuery、FormClose、FormDestory)都不会发生Application.Terminate就是程序结束了。

ExitProcess(0):

  1.直接干净的终止程序。

创建时间:2019.09.11  更新时间:2021.03.22