Главная страница
    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.47 MB
Время: 0.039 c
14-1127393797
boriskb
2005-09-22 16:56
2005.10.16
mp3 плейер не хотите на дармовщину?


3-1125577018
Term
2005-09-01 16:16
2005.10.16
Подзапросы


1-1127886283
novikova
2005-09-28 09:44
2005.10.16
I/O Error 53 - что это?


1-1127739017
Axis_of_Evil
2005-09-26 16:50
2005.10.16
Real type


1-1127309912
Zander1
2005-09-21 17:38
2005.10.16
Изменение размеров формы





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский