Lange Schleifen gehören nunmal nicht in den Hauptthread!
Im Notfall kann man aber das Ausführen von ProcessMessages etwas ausbremsen.
Delphi-Quellcode:
C := GetTickCount + 200;
scheife
begin
if C < GetTickCount then
begin
Application.ProcessMessages;
C := GetTickCount + 200;
end;
...
end;
Die 200 snd ein von mir festgelegter Wert (100 bis 250 eignen sich dafür, daß die
GUI nicht all zu start stockt)
Diesen Wert kannst du je nach Timereinstellung noch anpassen.