Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Is there a Delphi event that is guaranteed to be called when an app terminates but before any forms are destroyed?

I am using Delphi 6 Pro. I need an event that will fire when my application is definitely shutting down but before any Forms are destroyed. I thought about trapping WM_QUIT messages in the main form WndProc() but that didn't work because the Forms started destroying before I saw a WM_QUIT message. I was wondering if there is a standard Delphi event that I can use to execute code at this point of the shutdown chain of events? I can't use the main form's FormClose() event since it isn't guaranteed to fire, and the FormDestroy() event is too late. Any ideas?

like image 708
Robert Oschler Avatar asked Oct 10 '11 23:10

Robert Oschler


1 Answers

You will not see a WM_QUIT messsage arrive in the WndProc() method, as WM_QUIT is a signal for message loops to stop running, and as such it is not usually dispatched to a window procedure.

There is no specific event for what you are asking. What you can do, however, is open your project's .dpr file and put whatever code you need after the call to Application.Run exits. The message loop is no longer running, but the Application and MainForm objects have not been freed yet.

like image 82
Remy Lebeau Avatar answered Nov 16 '22 03:11

Remy Lebeau