Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.12.19;
Скачать: CL | DM;

Вниз

Schreduler   Найти похожие ветки 

 
ssergey   (2004-11-05 14:29) [0]

Пишу schreduler, сидит в трее и в заданное время выполняет архивирование базы.

Сообщения от пользователя обрабатываю с помощью компонента TRxTrayIcon.
Прблема в том, что
1) TRxTrayIcon тащит за собой модуль Forms и др.,
 в результате увеличиваетя объём занимаемой памяти.
2) Когда в трее кликаю на иконку и вылазит меню - останавливается
 основной цикл (на время активизации меню)

Опыт программирования на API небольшой.

Конструкция следующая:

program rBackup;

uses
Windows,  Menus,  Classes,  SysUtils,  ServerList,  ZIPDLL,
ZCallBck,  RXShell,  СВBurn;

{$R RBACKUP_ICON.RES}

type TMyTrayIcon = Class(TRxTrayIcon)
   private
     pm : TPopupMenu;
     procedure MyExit(Sender: TObject);
   public
     constructor Create(AOwner: TComponent); override;
     destructor Destroy; override;
   end;

.......

begin

.....
ti := TMyTrayIcon.Create(Nil);

repeat
  if PeekMessage(Msg, 0, 0, 0, PM_REMOVE) then
  begin
    if (Msg.Message = WM_TIMER) then
    begin
      if Msg.wParam = AgentTimer then
      begin
        Msg.Message := 0;
        if not ServersListLocked then
        begin
          CheckCurrentDate(ServersList);
          CheckMemFile(ShareBuf, ServersList, BackupList);
          CheckBackupList(ServersList, BackupList);
        end;
      end
        else
      if (Msg.wParam = CDWriteList.CDWriteTimer) then
        PostThreadMessage(CDWriteList.ThreadID, Msg.Message, Msg.wParam, Msg.lParam);
    end
      else
    if Msg.Message <> WM_QUIT then                      
    begin
      TranslateMessage(Msg);
      DispatchMessage(Msg);
    end
      else
    begin
      PostThreadMessage(CDWriteList.ThreadID, WM_QUIT, 0, 0);
      CDWriteList.WaitFor;
      CDWriteList.Free;
    end;
  end
    else WaitMessage;
until Msg.Message = WM_QUIT;
.........

end.


 
Cobalt ©   (2004-11-05 19:43) [1]

Прикольно :)


 
Anatoly Podgoretsky ©   (2004-11-05 19:49) [2]

А вопрос есть?


 
GuAV ©   (2004-11-05 21:23) [3]

The taskbar notification area is sometimes erroneously called the "tray." (c) MSDN



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

Текущий архив: 2004.12.19;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.032 c
14-1101796819
uny
2004-11-30 09:40
2004.12.19
человеческий фактор или свобода?


1-1102081229
Muhan
2004-12-03 16:40
2004.12.19
Можно ли в Stringgrid вставить картинку?


11-1084155649
Yustas
2004-05-10 06:20
2004.12.19
Наглый вопрос


14-1101675462
OneFragLeft
2004-11-28 23:57
2004.12.19
Чё за дрянь?


1-1102310570
SeZuka
2004-12-06 08:22
2004.12.19
Создание/изменение файла