Cooltrayicon, Ttimer и выключение компьютера

Тема в разделе "Delphi - FAQ", создана пользователем Serge J., 12 май 2007.

  1. Serge J.

    Serge J. Гость

    Приветствую,

    Подскажите пожалуйста как разрулить ситуацию.
    Имеется программа, висящая в трэе (через CoolTrayIcon), но при попытке перегрузиться или выключить комп программа закрывается, но сам процесс (перегрузки) отменяется и приходится второй раз shutdown вызывать. В программе используется стандартный компонент TTimer и эксперименты показали, что если на форме этого таймера нет, то перегрузка проходит нормально.

    вот код который я использую для отлова shutdown-а (может что тут и лишнее, я в delphi не силен)

    type
    TForm1 = class(TForm)
    ...
    private
    procedure WMQueryEndSession (var Msg: TWMQueryEndSession); message WM_QueryEndSession;
    procedure WMEndSession(var Msg: TWMEndSession);message WM_EndSession;
    ...
    procedure TForm1.WMEndSession(var Msg: TWMEndSession);
    begin
    coolTrayIcon1.Free;
    Timer1.Free;
    xmlConfig.Free;
    XMLDoc.Free;
    NMHTTP1.Free;
    Msg.Result:= 1;
    frmAbout.Close;
    Form1.Close;
    end;

    procedure TForm1.WMQueryEndSession (var Msg: TWMQueryEndSession);
    begin
    coolTrayIcon1.Free;
    Timer1.Free;
    xmlConfig.Free;
    XMLDoc.Free;
    NMHTTP1.Free;
    Msg.Result:= 1;
    frmAbout.Close;
    Form1.Close;
    end;

    ...
     
  2. Serge J.

    Serge J. Гость

    сократил код до такого, приложение закрывается, но все равно винда не перегружается :)

    procedure WMQueryEndSession (var Message: TWMQueryEndSession); message WM_QueryEndSession;

    procedure TForm1.WMQueryEndSession (var Message: TWMQueryEndSession);
    begin
    inherited;
    Message.Result:= 1;
    PostMessage( Application.Handle, wm_Quit, 0, 0);
    end;
     
  3. zubr

    zubr Гость

    NMHTTP1.Disconnect
     
  4. Serge J.

    Serge J. Гость

    Похоже помогло. Спасибо огромное!
     
Загрузка...
Похожие Темы - Cooltrayicon Ttimer выключение
  1. Dock1100
    Ответов:
    5
    Просмотров:
    3.772

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