Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

выход из windows закрывает мое приложение


sia ©   (2007-12-07 15:25:00) 

как мне отловить событие закрытия моей программы, вызванное выходом из windows?
поясню: пользователь не закрыл приложение перед тем, как выключить комп. и некоторые данные не сохранились.
заранее спасибо за помощь.


sia   (2007-12-11 13:54:00) [1]


> Альтернатива "ловли сообщений" - у форм есть событие OnCloseQuery.
> ..

OnCloseQuery срабатывает только когда пользователь закрывает приложение. когда его закрывает операционка оно не возникает.

> Или? Т.е. ты даже не разобрался, чем они отличаются?

Думаю, что разобрался: при закрытии винда сначала посылает всем запущенным прогам WM_QUERYENDSESSION. если хоть одно приложение возвращает 0, то винда не закрывается, а шлет всем, кто ответил <>0, сообщение WM_ENDSESSION, ожидая true. если false, то не закрывается. так во всяком случае в win32.hlp написано.

> Или ты считаешь, что здесь специально обучаные роботы отвечають
> должны?

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


homm   (2007-12-07 21:24:00) [2]

> [4] sia ©   (07.12.07 19:13)
> Особенно за Ваш неиссякаемый сарказм, который отражает
> Ваш истинный профессионализм.

Если тебе уже дали ответ, зачем что-то еще? Или ты считаешь, что здесь специально обучаные роботы отвечають должны?


homm   (2007-12-07 21:21:00) [3]

> [4] sia ©   (07.12.07 19:13)
> при появлении соообщений WM_QUERYENDSESSION или WM_ENDSESSION

Или? Т.е. ты даже не разобрался, чем они отличаются?


{RASkov}   (2007-12-07 20:32:00) [4]

> [0] sia ©   (07.12.07 19:13)
> поясню: пользователь не закрыл приложение перед тем, как
> выключить комп. и некоторые данные не сохранились.

Альтернатива "ловли сообщений" - у форм есть событие OnCloseQuery...


sia   (2007-12-07 19:13:00) [5]

всем большое спасибо за ПОМОЩЬ. Особенно за Ваш неиссякаемый сарказм, который отражает Ваш истинный профессионализм.

с подачи tesseract разобрался :).

при появлении соообщений WM_QUERYENDSESSION или WM_ENDSESSION, посылаемых Windows моему приложению, в соответствующих обработчиках делаю небходимые действия.


Сергей М.   (2007-12-07 17:17:00) [6]


> homm ©   (07.12.07 15:44) [2]


Ты провоцируешь автора на изобретение обработчика события ядерного взрыва)


homm   (2007-12-07 15:44:00) [7]

> [0] sia ©   (07.12.07 15:25)
> выход из windows закрывает мое приложение

Какая досада. А выключение питания не выключает твоего приложения? :)


tesseract   (2007-12-07 15:37:00) [8]

Ловить WM_QUERYENDSESSION в своей программе.


Наверх

Титульная страница Поиск, карта сайта Написать письмо