Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Общие вопросы > Не получается поймать сообщение


Автор: Albinos_x 2.6.2004, 21:57
Пытаюсь поймать сообщение винды WM_SpoolerStatus и по событию сделать запись в базу данных, но ничего не происходит.

Привожу часть кода:
Цитата

  ........
  private
    { Private declarations }
    procedure WMHotKey(var a:TWMHotKey); message WM_HOTKEY;
    procedure WM_SpoolerStatus(var MSG:TWMSpoolerStatus); message WM_SpoolerStatus;
    procedure WMTimeChange(var Mes:TWMTimeChange); message WM_TIMECHANGE;

  public
    { Public declarations }
  end;
.........
 
procedure TForm1.WM_SpoolerStatus(var MSG:TWMSpoolerStatus);
begin
Table2.Active:=true;
Table2.Append;
Table2.FieldByName('user').AsString:=zvanie;
Table2.FieldByName('data1').AsString:=DateToStr(Date);
Table2.FieldByName('time1').AsString:=TimeToStr(Time);
Table2.FieldByName('Warning').AsString:='10';
Table2.FieldByName('Primech').AsString:=Inttostr(msg.JobsLeft)+' Jobs currenli in spooler';
Table2.Post;
Table2.Active:=false;
end;
......


Остальные сообщения ловлю без проблем.
Помогите разобраться.

Заранее спасибо biggrin.gif

Автор: x77 3.6.2004, 15:26
а печать идёт через стандартный виндовый print manager? на локальном компьютере? прога даже не заходит в процедуру, или заходит, но по каким-то причинам не вставляет запись в таблицу? (не пробовал первой строкой ShowMessage, например, воткнуть)?

Автор: Albinos_x 3.6.2004, 17:40
Согласно справочникам по АПИ функциям это сообщение выдаётся при добавлении/удалении в/из очерендь(и) на печать. В очередь при печати добавляется а вот сообщение не ловится, создаётся впечатление что оно и не посылается.

Насчёт с комбинациями строк я пробовал, не помогает

Автор: Albinos_x 6.6.2004, 23:17
Кто-нибудь знает в чём проблема???

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)