Forum: GUI-Design mit VCL / FireMonkey / Common Controls
Delphi
by jbg,
20. Jun 2002
Der Sleep-Befehl sagt Windows, dass dein Programm bzw. der Thread, der Sleep aufruft, (was in deinem Fall der Hauptthread ist) seine Rechenzeit für ms Millisekunden abgibt. Dadurch weiß Windows dann, dass dein Programm keine Rechenleistung in dieser Zeit benötigt und das Programm steht dann. Erst wenn die an Sleep übergebene Zeit vorbei ist, wird der Thread weiter ausgeführt und alle bis dahin...
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
Delphi
by jbg,
20. Jun 2002
Und der Nebeneffekt ist, dass der Button nie Disabled dargestellt wird, da du mit Sleep das ganze Programm einfrierst und Windows den Button nicht neu zeichen (Status grafisch ändern) kann.
Alternative zu Sleep:
procedure Pause(time: Integer);
var t: Cardinal;
begin
t := GetTickCount;
while GetTickCount - t <= time do Application.ProcessMessages;
end;