Модераторы: Poseidon, Snowy, bems, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Механизм закрытия дочерних форм приложения 
V
    Опции темы
m9yt
Дата 29.7.2015, 10:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 173
Регистрация: 27.2.2010

Репутация: нет
Всего: нет



Добрый день. Пытаюсь сообразить, как грамотно реализовать механизм закрытия дочерних форм приложения.
Есть 2 ситуации:

1) Дочерняя форма закрывается вручную (пользователь нажал крестик)

На каждой форме обрабатывается событие OnCloseQuery, т.е. всегда спрашивается, сохранить ли данные перед уничтожением окна(Да/Нет/Отмена).

2) Дочерние формы закрываются программно, при закрытии главной формы

В данном случае опрашивается каждая дочерняя форма. Если они все дали согласие, то выполняем закрытие (aForm.Close). Если хоть на одной форме выбрали "Отмена", то не закрываем вообще ничего. Проблема в том, что в этот самый момент, когда вызываем aForm.Close для каждой формы, повторно вызывается подтверждение закрытия, что нелогично.

Таким образом мне необходимо понять, как предотвратить повторный запрос подтверждения закрытия дочерних форм, если я это уже узнал перед тем, как приступить к их непосредственному закрытию.
PM MAIL   Вверх
m9yt
Дата 29.7.2015, 10:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 173
Регистрация: 27.2.2010

Репутация: нет
Всего: нет



Добавил в классе дочерней формы дополнительное свойство, сигнализирующее о том, в каком состоянии она находится.

Это сообщение отредактировал(а) m9yt - 29.7.2015, 10:56
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0659 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.