Wie Zacherl schreibt:
Wenn du einen Thread startest und von diesem Thread aus
VCL Dinge tun willst, dann musst du
zwingend Synchronize verwenden.
Infos findest du zum Beispiel hier:
http://docwiki.embarcadero.com/Libra...ad.Synchronize oder in diesem Forum.
Ich würde für ein Scrollen niemals inc und sleep verwenden. Du musst bedenken, dass das Betriebssystem nicht nur deinem Programm Zeit z.V. stellt; dein Programm wird nur ab und zu aufgerufen und darf wieder ein wenig weiter rechnen. Wenn ein Kunde Beispiel einen Rechner mit nur 2 Kernen hat, dann ruckelt die ganze Sache eventuell bereits aus Gründen, welche du gar nicht beeinflussen kannst.
Verwende besser einen genauen "Zeitmesser". Du merkst dir die "Scroll - Startzeit" und berechnest dann jeweils aufgrund der verstrichnen Zeit die neue Position des Fensters. So entsteht für den Betrachter eine wesentlich flüssigere Bewegung.
Dem Thread kannst du eine höhere Priorität zuweisen.