Originariamente inviato da alka
Utilizzare un loop all'interno di un thread separato non è una soluzione così malvagia...anzi, a volte è una delle uniche soluzioni possibili.

Devi solamente ricordarti di aggiungere una chiamata alla funzione Sleep al termine del blocco di istruzioni affinchè venga eseguita per ogni ciclo e lasci "respirare" la CPU.

Ciao!
oppure

codice:
procedure MyDelay(msec:longint);
var  
  start,stop:longint;  
begin  
  start := gettickcount;  
  repeat  
  stop := gettickcount;  
  application.processmessages;  
  until (stop - start ) >= msec;  
end;
che credo che sia la stessa cosa.