Einzelnen Beitrag anzeigen

JonnyGuitar

Registriert seit: 4. Jun 2004
233 Beiträge
 
#1

wait prozedur bewirkt vollständige cpu auslastung

  Alt 23. Okt 2006, 16:43
tach zusammen,

ich benutze in einem service folgende wait prozedure:

Delphi-Quellcode:
procedure wait;
var
  res : Cardinal;
  s : String;
begin
  repeat
    Res := MsgWaitForMultipleObjects(2, hndlArr, false, 3600000, QS_ALLINPUT);

    if (Res = $ffffffff) then RaiseLastOSError;
    if Res = 1 then ForceUpdate := true;

    s := IntToStr(Res);
  until (Res = WAIT_OBJECT_0) or
        (Res = WAIT_TIMEOUT) or
        (Res = 1);
end;
diese schluckt aber leider 100% cpu last. was habe ich falsch gemacht?
ich hoffe einige leute haben verbesserungsvorschläge

ps: res = 1 tritt auf, wenn eins der beiden events aus dem handlearray ausgelöst werden

mfg Jonny
the only thing to fear is runnin' out of beer
  Mit Zitat antworten Zitat