Действия В Wmqueryendsession (delphi)

Shouldercannon

Well-known member
25.05.2010
128
0
#1
Есть процедура, которая завершает работу программы
Код:
procedure TFormMain.PMMExitClick(Sender: TObject);
begin
// Сохранение данных и прочее
Application.Terminate;
end;
Если я сделаю так при завершении работы Windows
Код:
procedure TFormMain.WMQueryEndSession(var Message: TMessage);
begin
PMMExit.OnClick(Self);
end;
при этом не отсылая результат Windows
Код:
Message.Result := 1;
это будет считаться верным и не вызовет со стороны моей программы и Windows фатальных ошибок?
 

Shouldercannon

Well-known member
25.05.2010
128
0
#3
В программе ведётся работа с треем и FormClose вместе с FormCloseQuery не смогут закрыть программу при завершении работы Windows. В моём случае получается, что программа при получении сообщения от Windows закрывается не отсылая при этом сообщения о готовности к закрытию. Вообще так можно делать?
 

-master-

Well-known member
14.01.2012
616
12
#4
Вы про что-то свое говорите...
У вас пришло сообщение или нет, форму надо закрыть, вот я и спрашиваю, почему терминируете приложение а не просто закрытьформу?
В обработчике закрытия - // Сохранение данных и прочее