Thema: Delphi Timer ohne VCL

Einzelnen Beitrag anzeigen

Benutzerbild von Mr_G
Mr_G

Registriert seit: 2. Sep 2004
Ort: Duisburg
468 Beiträge
 
Delphi 2006 Professional
 
#5

Re: Timer ohne VCL

  Alt 31. Mai 2009, 13:06
Ich habe nun mal ein bisschen mit diesen Waitable-Timer-Objects rumgespielt. Leider verstehe ich das mit dem APC-Callback nicht. Dieser wird bei mir nicht ausgelöst:
Delphi-Quellcode:
procedure Trigger(lpArgToCompletionRoutine: Pointer; dwTimerLowValue, dwTimerHighValue: DWORD);
begin
  ShowMessage('Callback...');
end;

procedure TForm1.Button1Click(Sender: TObject);
var Wecker: SYSTEMTIME;
    CorrectTriggerTime, TriggerTime: FILETIME;
    DueTime: LARGE_INTEGER;
begin
  GetLocalTime(Wecker);
  Wecker.wMinute := Wecker.wMinute +1;
  SystemTimeToFileTime(Wecker, TriggerTime);
  LocalFileTimeToFileTime(TriggerTime, CorrectTriggerTime);
  DueTime.LowPart := CorrectTriggerTime.dwLowDateTime;
  DueTime.HighPart := CorrectTriggerTime.dwHighDateTime;

  SetWaitableTimer(WndTimer, DueTime.QuadPart, 0, @Trigger, nil, True);
  WaitForSingleObjectEx(WndTimer, INFINITE, True);
  Showmessage('Schluss');
end;
Bei dem Test wird wie gewünscht eine Minute gewartet, der der Callback wird aber nicht aufgerufen. Das mit den APCs durchschaue ich im Moment leider nicht. Ich würde mich freuen, wenn mir jemand auf die Sprünge helfen könnte!
Jan
  Mit Zitat antworten Zitat