Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 31.12.2010, 21:32   #1
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию Обработчик TForm.OnClose

Существует ли возможность в обработчике OnClose главной формы приложения распознать источник инициализировавший процесс закрытия формы. Собственно интересует ситуация, когда это вызвано процессом завершения работы Windows.
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 31.12.2010, 23:36   #2
asmodey1
Подтвердите свой е-майл
 
Регистрация: 19.12.2010
Сообщений: 808
По умолчанию

Нет. Пожалуй, можно ловить виндовые сообщения в событии Application.OnMessage...

З.Ы. Ниже Stilet привел готовую тему об этом.

Последний раз редактировалось asmodey1; 01.01.2011 в 20:52.
asmodey1 вне форума Ответить с цитированием
Старый 31.12.2010, 23:38   #3
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

Цитата:
Нет. Пожалуй, можно ловить виндовые сообщения в событии Application.OnMessage...
а в общем то нет разницы кто послал сообщение, при закрытия формы все равно идет сообщение WM_CLOSE
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 01.01.2011, 11:06   #4
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Задам вопрос по другому. Есть сервер приложений. Визуальная часть состоит из одной формы (она же и главная) для отображения списка присоединенных юзеров. При сворачивании выбрасывается в трей панели задач. Завершение работы как из меню значка в трее (1), так и стандартно при видимой форме (2). Решил избавиться от возможности завершить работу в ситуации 2 (просто сворачиваю в трей как uTorrent делает). В результате при завершении работы Windows при работающем сервере приложений Windows не может самостоятельно завершить работу этой программы, поскольку в OnClose анализ - из трея завершение или другим средством. Вроде как одно замечание заказчика ликвидировал, породив наверняка при этом другое.
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 01.01.2011, 11:43   #5
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
когда это вызвано процессом завершения работы Windows.
А тут не OnClose поможет а http://programmersforum.ru/showthrea...UERYENDSESSION

Цитата:
В результате при завершении работы Windows при работающем сервере приложений Windows не может самостоятельно завершить работу этой программы
Ага, и может быть что винда вообще не может завершиться, потому что твой сервер ей противостоит. Известный баг - отсутствие обработчика (см ссылку) присутствует в сервере хелпа D2009-2010. Если он запущен и некорректно закрыт есть все шансы что без того чтобы вышибить его из процессов в диспетчере задач винда не завершится.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 01.01.2011, 11:56   #6
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Stilet спасибо. Попробую WM_QUERYENDSESSION после праздников. Всех с Новым годом!
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
обработчик события onClose для формы созданной в Run-Time tonatas Общие вопросы Delphi 3 13.08.2010 21:46
обработка onClose в runtime Grandistok Общие вопросы Delphi 11 15.02.2010 23:50
Событие TForm HTL Общие вопросы Delphi 4 20.01.2010 18:51
Чтение из TForm Пaвeл Общие вопросы Delphi 3 29.03.2009 16:23
TForm NieL Общие вопросы Delphi 9 15.12.2008 18:37