Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.10.16;
Скачать: CL | DM;

Вниз

Ошибка при завершении работы ОС   Найти похожие ветки 

 
ronyn   (2005-08-16 00:13) [0]

Свою программу я минимизирую в трей. Оттуда нажав в Popup "Выход" , появляется Application.MessageBox(мол, хотите действительно выйти?).
 А когда я перезагружаю комп, моя программа завершается критическим путем. Что делать? Заранее благодарен.


 
Eraser ©   (2005-08-16 00:15) [1]

ronyn   (16.08.05 00:13)

Обрабатывать сообщение WM_ENDSESSION.


 
alpet ©   (2005-08-16 00:16) [2]

Программа отрабатывает сообщения WM_QUERYENDSESSION, WM_CLOSE, WM_QUIT?


 
ronyn   (2005-08-16 00:19) [3]

А как это будет выглядеть в полном виде. В каком событии, какие параметры?


 
Eraser ©   (2005-08-16 00:22) [4]

ronyn   (16.08.05 00:19) [3]

В msdn.com точно написано.


 
Piter ©   (2005-08-16 01:04) [5]

Ты запостил вопрос в конференцию по WinApi.
Соответственно, я думаю, что программа у тебя на WinApi.

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


 
afanasic   (2005-08-16 10:44) [6]

Удалено модератором


 
tesseract ©   (2005-08-16 16:52) [7]

Application.onMessage -  обрабатывает все сообщения windows.
лови все  WM_QUERYENDSESSION и при нём не задавай дурных вопросов о необходимости выхода из программы - а то завешат насильно.


 
Piter ©   (2005-08-16 16:59) [8]

tesseract ©   (16.08.05 16:52) [7]
Application.onMessage -  обрабатывает все сообщения windows


if PeekMessage(Msg, 0, 0, 0, PM_REMOVE) then
 begin
   Result := True;
   if Msg.Message <> WM_QUIT then
   begin
     Handled := False;
     if Assigned(FOnMessage) then FOnMessage(Msg, Handled);
......


Не все. Как раз WM_QUIT не обработает.


 
Leonid Troyanovsky ©   (2005-08-16 17:02) [9]


> Piter ©   (16.08.05 16:59) [8]

> Не все. Как раз WM_QUIT не обработает.


А он и не нужен. Достаточно WM_*ENDSESSION.

--
Regards, LVT.


 
Piter ©   (2005-08-16 17:13) [10]

Leonid Troyanovsky ©   (16.08.05 17:02) [9]
А он и не нужен


а я и не говорю, что нужен :)

Я только прокомментировал фразу:

tesseract ©   (16.08.05 16:52) [7]
Application.onMessage -  обрабатывает все сообщения windows


 
Игорь Шевченко ©   (2005-08-16 17:14) [11]


> Application.onMessage -  обрабатывает все сообщения windows.
>


Далеко не все :)


 
Leonid Troyanovsky ©   (2005-08-16 17:18) [12]


> Piter ©   (16.08.05 17:13) [10]
> Leonid Troyanovsky ©   (16.08.05 17:02) [9]
> А он и не нужен

> а я и не говорю, что нужен :)


Млин, запощенные.
Sorry.

--
Regards, LVT.


 
Piter ©   (2005-08-16 17:37) [13]

Игорь Шевченко ©   (16.08.05 17:14) [11]
Далеко не все :)


ну я думаю имеются в виду основному потоку и его окнам :)
А тут, кроме WM_QUIT, OnMesage все ловит...


 
Игорь Шевченко ©   (2005-08-16 18:41) [14]

Piter ©   (16.08.05 17:37) [13]

[12] :)


 
Piter ©   (2005-08-16 18:47) [15]

Игорь Шевченко ©   (16.08.05 18:41) [14]

а-а-а. Вы про то, что сообщения от SendMessage не будут доходить? :)
Ну это и так как бы понятно :)


 
tesseract ©   (2005-08-17 12:08) [16]

>>Не все. Как раз WM_QUIT не обработает.

Конечно не обработает, WM_QUIT обрабатывается TApllication лично и только после этого производится срабатывание OnMessage.


 
Piter ©   (2005-08-17 14:20) [17]

tesseract ©   (17.08.05 12:08) [16]

Да, спасибо, мы с этим уже разобрались :)



Страницы: 1 вся ветка

Текущий архив: 2005.10.16;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.041 c
14-1127442865
КаПиБаРа
2005-09-23 06:34
2005.10.16
А что будет, если


4-1124033378
ArtemESC
2005-08-14 19:29
2005.10.16
Дата создания Link - ом EXEшника


14-1127401808
vuk
2005-09-22 19:10
2005.10.16
О двоечниках и отличниках.


3-1125664624
Nickolay
2005-09-02 16:37
2005.10.16
Как в real time из Delphi добавить таблицу в файл mdb?


14-1126895306
AlterEgo of WondeRu
2005-09-16 22:28
2005.10.16
Сайт DelphiMaster.ru вoзьмeт нa рaбoту тeлeпaтa.