Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "WinAPI";
Текущий архив: 2004.12.19;
Скачать: [xml.tar.bz2];

Вниз

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

Форум: "WinAPI";
Текущий архив: 2004.12.19;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.45 MB
Время: 0.04 c
4-1099407403
Алекс
2004-11-02 17:56
2004.12.19
Список файлов и директорий с их иконками


1-1102411493
Maxuz
2004-12-07 12:24
2004.12.19
Обращение к контролам на форме при динамическом её создании...


1-1102437749
InfMag
2004-12-07 19:42
2004.12.19
Работа с папками


3-1100581648
DWW
2004-11-16 08:07
2004.12.19
инкрементирования


1-1101978886
denis24
2004-12-02 12:14
2004.12.19
передача картинки из одного image в другой image





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский