Fürs erste kannst du in deine Schleife
Delphi-Quellcode:
...
Application.ProcessMessages();
Sleep(50);
...
schreiben. Dies ist jetzt nur für Übungszwecke in Ordnung.
Richtig wäre es, wenn du dich mit Threads auseinandersetzt und es dann in Threads machst.