When Close is a main form, the program exits.
Close will occur Formclose event, Formclosequery event
The Formdestory event will occur in Halt,
None of the above three events will occur application.terminate
Application.terminate is the end of the program. The entire program ends and the system forcibly reclaims the system resources.
Terminate is automatically called when the main window is closed or when the wm_quit message is triggered
Close, just for the form. The main form close after the program is application.terminate.
The subform close later. You can show it without releasing it.
It is also said that the close method of the main window is actually called application's terminate to terminate the program.
Application.close is normal exit, there is an application to voluntarily return system resources
Another difference is that the Close method of the main window can trigger the OnClose event
The application.terminate does not trigger the event.
Delphi closes the program close,application. The difference between terminate and halt (excerpt)