Ja, OnCloseQuery ist hier die richtige Lösung.
Die [DELPHI]...[/DELPHI]- oder notfalls die [CODE]...[/CODE]-Tags kennst du schon?
Tipp:
Ich empfehle die Finger von Application.OnMessage und den anderen Events zu lassen und Diese über TApplicationEvents zu machen.
Das registriert sich zwar auch bei Application.OnMessage und Co. (hätten die Embaläute mal besser nicht so machen sollen), aber dafür registriert sich das als MultyCastEvent.
Heißt, es kann mehrere TApplicationEvents geben.
Stell dir mal vor eine FremdComponente registriert sich auch dort, oder du kommst auf die Idee das nochmal in Form2 zu machen.
Dann übererschreibst du das andere Event, welches du eigentlich hättest speichern und an beim Aufruf deiner Methode wieder aufrufen müssen, was du aber nicht machst und somit die andere Funktion schrottest.
Ach ja, OnMessage ... Diese Messages sind ja eigentlich ein Windows-Ding.
Da kann es gut sein, daß man bei der FMX-Version der TApplication-Klasse diese Messages nicht mehr drin hat, weil das Ding ja potentiell auch für andere
OS gedacht ist.
PS: In anderen
OS wird das Programm eventuell auch nicht mit Alt+F4 beendet.