Ich vermute, es geht dir darum, dass die Abläufe immer gleich schnell wirken. Dabei ist es relativ egal, ob der einzelne Durchlauf 8, 10 oder 11 ms nach dem vorigen Durchlauf erfolgt, aber Fehler dürfen nicht akkumulieren.
Zu Beginn:
Code:
TickCountAtStart:=gettickcount;
StepCount:=0;
und
nach jedem Durchlauf:
Code:
inc(StepCount,TicksPerStep);
sleep(TickCountAtStart+StepCount-gettickcount);