Для предотвращения закрытия формы необходимо обрабатывать событие OnCloseQuery (к примеру, в момент редактирования таблицы или для корректного сохранения вновь введенных значений на дочерней MDI-форме).
Родительское MDI-окно должно иметь пункт меню для возможности закрытия активного в текущий момент дочернего окна. Вот примерный код, обрабатывающий нажатие данного пункта меню:
ActiveMDIChild.Close; |
Попробуйте следующее:
procedure TFrmServers.FormClose(Sender:TObject; var Action:TCloseAction); begin Action := caFree;end; procedure TFrmServers.FormDestroy begin Table1.Close;end; procedure TFrmServers.FormCloseQuery begin if table1.state in [dsEdit,dsInsert] thenbegin// предупреждаем пользователя о возможной потере редактируемых// данных и при нажатии на ОК закрываем окноif not UserSaysOk then CanClose := False;end;end; |
[000169]