Rechenzeit wird mit Application.ProcessMessages freigegeben.
Aber bist du dir sicher, dass du auf ein Suspend warten möchtest? Sollte Suspend nicht durch den Hauptthread gesetzt werden um den Thread zu unterbrechen? Wenn du jedenfalls auf irgendwas wartest gibt es folgende Möglichkeiten
Delphi-Quellcode:
// Wartezeit ms warten und währenddessen Rechenzeit freigeben
var ticks : Int64;
begin
ticks := GetTickCount;
while not (GetTickCount - time) >= Wartezeit do
begin
Application.ProcessMessages;
end;
end;
// Warten bis irgendeine Bedingung erfüllt ist
begin
while not Bedingung do
begin
Application.ProcessMessages;
end;
end