Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.48 MB
Время: 0.032 c
2-1127217436
ABS
2005-09-20 15:57
2005.10.16
кодировка


1-1127472417
DelphiLexx
2005-09-23 14:46
2005.10.16
Соединение TImage линиями и их движение


1-1127887104
OlegM
2005-09-28 09:58
2005.10.16
Не происходит смена курсора


1-1127867033
Димыч
2005-09-28 04:23
2005.10.16
Контейнер с файлами


14-1127143583
Ученик чародея
2005-09-19 19:26
2005.10.16
Что сейчас представляла бы собой Россия,




   Наверх