Показать сообщение отдельно
  #3  
Старый 23.07.2012, 08:15
Vocabulary Vocabulary вне форума
Новичок
 
Регистрация: 17.09.2009
Сообщения: 85
Репутация: 9
По умолчанию

Это да. Деструкторы есть и они отрабатывают. Но надо OnClose. Именно в этой процедуре происходит проверка на модификацию и там же запрос на сохранение изменений.

Можно перехватить системное событие в главной форме (вроде бы, как раз тот момент, когда не главные формы еще существуют):
Код:
procedure TfrmMain.WMGetSysCommand(var message: TWMSysCommand{TMessage});
begin
  if (message.wParam = SC_CLOSE) then begin
    if <условие> then
      //но как здесь запретить вываливаться из проги?
  end else
    inherited;
end;
Ответить с цитированием