Hallo,
Wir sind hier am 'streiten' bzw. nicht wissen (deshalb streiten), was 'besser' für eine Anwendung ist: Ein threaded Timer oder ein Windows-Timer.
Ein threaded Timer könnte so umgesetzt werden
Delphi-Quellcode:
Procedure TThreadedTimer.Execute;
Begin
While not Terminated do begin
If FEnabled then
Synchronize (DoOnTimer);
Sleep (FInterval);
End
End;
Oder mit einem Event:
Delphi-Quellcode:
Procedure TThreadedTimer.Execute;
Begin
While not Terminated do begin
If WaitForSingleObject (FWhatEverHandle, FInterval) = WAIT_OBJECT_0 Then
If FEnabled then
Synchronize (DoOnTimer);Synchronize (DoOnTimer);
End
End;
Welche Variante würdet ihr nehmen, wenn die Aufgabe 'optimiert den Code hinsichtlich Performance' heißt und ihr nur max. 20% einer CPU für euch habt?