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?
Is there a Delphi event that is guaranteed to be called when an app terminates but before any forms are destroyed?
3.1k Views Asked by Robert Oschler At
2
There are 2 best solutions below
Related Questions in DELPHI
- How can I read the header of request to webserver
- Receiving Notifications for Individual Task Completion OmniThreadLibrary Parallel.ForEach
- Delphi - How to get result of function from QuickReport without viewing a report?
- Out of memory while adding documents to a Firebird BLOB field with Delphi
- How to MakeScreenshot fullpage on Delphi
- How to program a COM object with an IEnumerator, IEnumerable interface inside
- How to Dynamically Add Controls to Delphi Form
- How to write a string in Stringrid with DelimitedText in FMX Delphi 11
- TGrid/TStringGrid multi cell selection / multi editing in delphi firemonkey (12)
- How to localize "Today" in the Delphi TMonthCalendar?
- How can I call a SOAP webserver method in Vue.js?
- Efficiently Handling Large Number of API Calls with Delphi 10.4 and OmniThreadLibrary
- Delphi can not compile the unit create by its "XML Data Binding Wizard"
- Save Form Properties in File and then restore those Properties after reopening
- Is it possible to open a blob without saving it to file
Related Questions in TERMINATE
- Codespace terminates my code within seconds?
- Understand what really happens when calling a throwing function in a noexcept function
- Does this criteria prove that Y calls X in infinite recursion?
- How can I determine whether a user is watching YouTube Shorts or using the regular YouTube app within my Flutter application?
- Powerbuilder Response window hangs then App closes - Any ideas?
- How to make sure the process signalled to terminate using TerminateProcess WinAPI is actually terminated?
- Elegant loop exit using input() with multithreading
- Running a custom termination of a process in python multiprocessing
- How to terminate processes in a specific order?
- How to properly terminate a process that is running in the background via subprocess?
- Cannot terminate or kill subprocess after building .exe with pyinstaller
- Is there any keyword that will terminate or stop the simulation when the output reaches a specific value in open modelica?
- Which function is invoked on click of notification while flutter android app is in terminated state, background notification click FCM
- What should i write inside JOptionPane.YES_NO_OPTION
- IPOPT Options Not Settable in Visual Studio 2022 Release Configuration
Related Questions in APPLICATION-SHUTDOWN
- Application Auto Shutdown
- Windows Shutdown Messages
- Problem in android application, it stops on emulator due to background services
- How to keep my WPF C# app running when user cancel the shutdown
- ASP.NET session variables lost in shared hosting environment
- How exceptions are handled in catch block when application is shutting down?
- The close() cancle() function of Flink RichParallelSourceFunction does not work
- Differentiate close event from "X" button and from OS shutdown in Windows with Qt
- Why my python program that I converted into exe file always shutdown when result should have discovered
- How to Trap Tomcat's Terminate in Java Application
- Qt Application: catch trigger from batch script
- Postgres DB shut down automatically on Ubuntu
- How can we report to our customers that the orders are closed in our react native app?
- How to check if there are any active windows open in Python?
- How to catch Delphi App shutting down when run in IDE?
Trending Questions
- UIImageView Frame Doesn't Reflect Constraints
- Is it possible to use adb commands to click on a view by finding its ID?
- How to create a new web character symbol recognizable by html/javascript?
- Why isn't my CSS3 animation smooth in Google Chrome (but very smooth on other browsers)?
- Heap Gives Page Fault
- Connect ffmpeg to Visual Studio 2008
- Both Object- and ValueAnimator jumps when Duration is set above API LvL 24
- How to avoid default initialization of objects in std::vector?
- second argument of the command line arguments in a format other than char** argv or char* argv[]
- How to improve efficiency of algorithm which generates next lexicographic permutation?
- Navigating to the another actvity app getting crash in android
- How to read the particular message format in android and store in sqlite database?
- Resetting inventory status after order is cancelled
- Efficiently compute powers of X in SSE/AVX
- Insert into an external database using ajax and php : POST 500 (Internal Server Error)
Popular # Hahtags
Popular Questions
- How do I undo the most recent local commits in Git?
- How can I remove a specific item from an array in JavaScript?
- How do I delete a Git branch locally and remotely?
- Find all files containing a specific text (string) on Linux?
- How do I revert a Git repository to a previous commit?
- How do I create an HTML button that acts like a link?
- How do I check out a remote Git branch?
- How do I force "git pull" to overwrite local files?
- How do I list all files of a directory?
- How to check whether a string contains a substring in JavaScript?
- How do I redirect to another webpage?
- How can I iterate over rows in a Pandas DataFrame?
- How do I convert a String to an int in Java?
- Does Python have a string 'contains' substring method?
- How do I check if a string contains a specific word?
You will not see a
WM_QUITmesssage arrive in theWndProc()method, asWM_QUITis 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.Runexits. The message loop is no longer running, but theApplicationandMainFormobjects have not been freed yet.