Which is the proper way to terminate a delphi application?

前端 未结 3 1294
既然无缘
既然无缘 2021-02-05 06:41

I would like to terminate a Delphi application without executing any other code line and I\'m wondering about which is the proper way to do this. Furthermore, I would like to kn

3条回答
  •  臣服心动
    2021-02-05 07:30

    Application.Terminate() breaks the message loops in TApplication.Run() and TForm.ShowModal(), allowing the main thread to exit normally, perform necessary cleanups, etc.

    Vcl.Forms.TApplication.Terminate

    Ends application execution.

    Call Terminate to end the application programmatically. By calling Terminate rather than freeing the application object, you allow the application to shut down in an orderly fashion.

    Terminate calls the Windows API PostQuitMessage function to perform an orderly shutdown of the application. Terminate is not immediate. Terminate is called automatically on a WM_QUIT message and when the main form closes.

    Halt(), on the other hand, is an immediate abnormal termination. Basically, ripping the process out of memory. Use it only in extreme situations where no other option is available.

    System.Halt

    Initiates the abnormal termination of a program.

    Halt performs an abnormal termination of a program and returns to the operating system.

    To perform a normal termination of a Delphi application, call the Terminate method on the global Application object. If the application does not use a unit that provides an Application object, call the Exit procedure from the main Program block.

提交回复
热议问题