Einzelnen Beitrag anzeigen

r2c2

Registriert seit: 9. Mai 2005
Ort: Nordbaden
925 Beiträge
 
#5

Re: Immer wiederkehrende Aufgaben realisieren

  Alt 29. Jul 2008, 10:42
Meine Glaskugel sagt, du hast das Stoppuhr-Problem:

Wenn man so eine Stoppuhr programmiert, wird sie nicht wirklich funktionieren:
Delphi-Quellcode:
// Pseudocode:
OnTimer(Intervall := 1000ms)
begin
  Stoppzeit := Stoppzeit -1s;
end;
Warum: So genau ist Timer nicht(Multitasking und MessageLoop sind dafür verantwortlich). Die Fehler summieren sich mit der Zeit auf. Ist das Intervall größer, dauert es eben länger, bis das Problem auftritt.

Lösung für die Stoppuhr:
Delphi-Quellcode:
// Pseudocode:
OnTimer(Intervall := 1000ms)
begin
  Stoppzeit := (AltesGetTickCount - GetTickCount) div 1000(ms/s);
end;
Dann klapps auch mit dem Nachbarn.... äh... der Stoppuhr.

Ich vermute dein Problem ist durch den selben Effekt begründet. Sie Lösung sollte dann entsprechend auch ähnlich aussehen...

mfg

Christian
Kaum macht man's richtig, schon klappts!
  Mit Zitat antworten Zitat