Вниз
Скачать: CL | DM;

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

← →
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 вся ветка

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



Память: 0.46 MB
Время: 0.016 c
14-87030
kronprince
2003-01-10 20:17
2003.01.27
Копаясь в примерах нашел такой кусок кода.


1-86876
sterran
2003-01-15 16:00
2003.01.27
Про MessageDlg


4-87216
Сергей Макаров
2002-12-12 17:52
2003.01.27
Как вывести картинку не используя канву?


14-87120
Вадим
2003-01-08 05:25
2003.01.27
А что будет, если кто-то...


4-87180
alex134
2002-12-09 22:18
2003.01.27
Глобальный контроль




   Наверх