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

Тема в разделе "Delphi - Система", создана пользователем Shouldercannon, 17 фев 2012.

  1. Shouldercannon

    Shouldercannon Well-Known Member

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

    -master- Well-Known Member

    Регистрация:
    14 янв 2012
    Сообщения:
    629
    Симпатии:
    18
    А зачем так? не проще ли просто Cose();
     
  3. Shouldercannon

    Shouldercannon Well-Known Member

    Регистрация:
    25 май 2010
    Сообщения:
    125
    Симпатии:
    0
    В программе ведётся работа с треем и FormClose вместе с FormCloseQuery не смогут закрыть программу при завершении работы Windows. В моём случае получается, что программа при получении сообщения от Windows закрывается не отсылая при этом сообщения о готовности к закрытию. Вообще так можно делать?
     
  4. -master-

    -master- Well-Known Member

    Регистрация:
    14 янв 2012
    Сообщения:
    629
    Симпатии:
    18
    Вы про что-то свое говорите...
    У вас пришло сообщение или нет, форму надо закрыть, вот я и спрашиваю, почему терминируете приложение а не просто закрытьформу?
    В обработчике закрытия - // Сохранение данных и прочее
     
Загрузка...

Поделиться этой страницей