Наше приложение использует «MDI» (большинство проблем исправлено в потомках TForm). В большинстве форм, если данные были изменены, они отказываются закрыться (используя closequery) и предлагают пользователю сохранить или отменить. Это прекрасно работает.
Но в отличие от других людей, я хотел бы пропустить это, если приложение умирает. Это может быть связано с тем, что пользователь щелкнул X на главной форме. Я просто хочу, чтобы приложение умерло - без сохранения данных и т. Д.
Проблема в том, что CloseQuery MainForm срабатывает после всех форм mdichild. Я пробовал wm_close, wm_quit и даже windproc в MainForm. Но они не стреляют вовремя.
Когда я получаю formclosequery в mdichild, у меня нет возможности узнать, уничтожается ли эта форма пользователем или уничтожается приложение.
Наверняка есть простой способ сделать это. Что я пропустил?
MainForm
сначала уведомитMainForm
, а затем уведомит его дочерние формы. Если у вас возникли проблемы с обработкой первоначального уведомления вWndProc()
, вероятно, вы неправильно его обрабатываете. Пожалуйста, покажите ваш реальный код. - person Remy Lebeau   schedule 03.03.2017