Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "WinAPI";
Текущий архив: 2003.01.27;
Скачать: [xml.tar.bz2];

Вниз

закрытие приложения   Найти похожие ветки 

 
sen   (2002-12-10 11:09) [0]

Добрый день.
В моей программе.
На событие запрос на закрытие формы canclose:=false.
Приложение закрывается только при щелчке на всплывающем меню ("закрыть"). Делаю application.terminate
При перезагрузке компа приложение закрываться не хочет (не дает перегрузить).
Вопрос: Как правильно отловить сообщение Windows для закрытия приложения.
Пробовал делать
if msg.message=wm_close then application.terminate;
Handled := True;

Последняя строка вообще странно влияет на закрытие приложения (оно становится незакрываемым даже через всплывающее меню) .
Кто - нибудь может помочь?


 
Song   (2002-12-10 11:11) [1]

WM_ENDSESSION/WM_QUERYENDSESSION
А на TForm.onCloseQuery придётся ещё флажок вводить.


 
sen   (2002-12-10 11:34) [2]

Спасибо, а какой флажок на TForm.onCloseQuery


 
Song   (2002-12-10 11:41) [3]

ну дык просто переменная типа Boolean, которую устаналиваете в сообщении WM_QUERYENDSESSION

Var Flag:Boolen=False;

а в TForm.onCloseQuery будет CanClose:=Flag;

В событии WM_QUERYENDSESSION установите Flag в True


 
sen   (2002-12-11 10:41) [4]

Добрый день
Не работает WM_QUERYENDSESSION
Написал следующее:

if msg.message=WM_QUERYENDSESSION

then
begin
Flag:=True;
Handled := True;
application.terminate;
end;
end;


procedure Ttemperaturaform.FormCloseQuery(Sender: TObject;
var CanClose: Boolean);
begin

canclose:=flag;
if flag then showmessage("true") else showmessage("false");
end;
procedure Ttemperaturaform.FormCloseQuery(Sender: TObject;
var CanClose: Boolean);
begin

canclose:=flag;
if flag then showmessage("true") else showmessage("false");
temperaturaform.hide;

end;

при попытке закончить сессию windows показывает false, т.е. flag остается в false
То же самое и в случае WM_ENDSESSION


 
Song   (2002-12-11 11:00) [5]

hands.sys...


 
sen   (2002-12-11 11:29) [6]

это что значит



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

Форум: "WinAPI";
Текущий архив: 2003.01.27;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.01 c
3-86709
Соловьев
2003-01-09 12:23
2003.01.27
BatchMove не работает с вычисляемым полем!


1-86767
Novice2
2003-01-17 16:21
2003.01.27
MDIForm


14-87037
Val
2003-01-10 10:51
2003.01.27
Отказ от БДЕ


3-86621
BlackTiger
2003-01-06 15:47
2003.01.27
Как бы поймать


14-87108
kronprince
2003-01-09 17:21
2003.01.27
Извините за offtopic :)О разнице Microsoft VC vs Borland CB





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский