Forms at Program End


I need to display a form that notice to user if a program configuration data could not be saved to disk (or familiar errors). The form has to appear when the Program is terminating or immediatly before that in other words.
I have tried to simply use Form.ShowModal in the OnClose-Event of the main form, but it didnt work, because the application was shutting down.

any ideas ?
Who is Participating?
SupWangConnect With a Mentor Commented:
Why not use the OnCloseQuery event?

Use OnCloseQuery to specify the conditions under which the form can close. An OnCloseQuery event handler contains a Boolean CanClose variable that determines whether a form is allowed to close. It's default value is True.
You can use an OnCloseQuery event handler to ask users if they are sure they really want the form closed immediately. For example, you can use the handler to display a message box that prompts the user to save a file before closing the form.
The TCloseQueryEvent type points to the method that determines whether a form can be closed. The value of the CanClose parameter determines if the form can close or not.


When the user attempts to close the form in this example, a message dialog appears that asks the user if it is OK to close the form. If the user chooses the OK button, the form closes. If the user chooses Cancel, the form doesn't close.

procedure TForm1.FormCloseQuery(Sender: TObject; var CanClose: Boolean);

  if MessageDlg('Close the form?', mtConfirmation,
    [mbOk, mbCancel], 0) = mrCancel then
     CanClose := False;
Or you could put it into the dpr file right after the Application.Run.

Regards, Madshi.
HI, omsec
If my answer is right, Please give the points to me. I haven't get points for a long time. :-)


Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.