Wie heißt dann der TWaitResult von WaitFor()?
Du hast es zwar jetzt anders gelöst, aber: Ja, hatte ich vergessen, dass man das noch auswerten muss. Wobei das Resultat an der Stelle eigentlich fast egal ist. Die Zeile müsste korrekt heißen:
while (FEvent.WaitFor(INFINITE) = wrSignaled) and not Terminated do
Ok. Es ging (bei mir hier) nicht anders. Es müssten in diesem Thread auch OnKeyPress und MouseUp berücksichtigt werden, sonst würde z.B. MouseUp vor dem Beenden des Threads ausgeführt, was zu logischen Fehlern führen würde. Das war mir zu kompliziert. Bei meiner Behelfslösung wird immer die Durchlaufzeit gewartet. Einmal ungefähr null und einmal die Prozesszeit. Das Ruckeln ist so (fast) weg.
EDIT: Nein, stimmt nicht. Ich versteh meinen eigenen Code nicht.
Blockiert so das Erste, also immer nur EIN MouseMove innerhalb WaitTime.