Soweit ich weiss, bewirkt der sleep-Befehl eine komplette Unterbrechung im Programmablauf, d.h. dem Prozess wird sämtliche zur Verfügung stehende Rechenleistung gestrichen. Diese Zeit bräuchte er aber, um z.B. den Text anzuzeigen. sleep sollte also nicht als Erstaz für delay (aus TurboPascal) verwendet werden, dafür gibt es ja eben die Timer.
Vielleicht versuchst du es einmal mit folgender Prozedur (bei mir hat sie geholfen
):
Delphi-Quellcode:
uses Forms;
procedure delay(ms: longint; var app: TApplication);
var start,stop: TDateTime;
begin
start := time;
repeat
stop := time;
app.ProcessMessages;
until millisecondsbetween(start,stop) >= ms;
end;
MfG
fenni