Ich persönlich finde es ja schicker, wenn der Event sich selbst zurücksetzt.
Ist glaube ich Geschmacksache.
Ich mache es lieber so...
Delphi-Quellcode:
while GetAdresse and not Terminated do
begin
E.ResetEvent;
Akt := GetTickCount;
Waiter := Akt - LastTick;
LastTick := Akt;
if Waiter < 1000 then
Sleep(1000-Waiter);
FGeocoder.Geocode(Address); // 1x pro Sekunde
R := E.WaitFor(15000);
case R of
wrSignaled : begin
Synchronize(Process);
if fAbort then
begin
Error := -8;
break;
end;
end;
wrTimeout : begin
Error := -4;
break;
end;
wrAbandoned : begin
Error := -5;
break;
end;
wrError : begin
Error := -6;
break;
end;
wrIOCompletion : begin
Error := -7;
break;
end;
end;
end;
Mavarik