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:
Code:
procedure Pause(time: Integer);
var t: Cardinal;
begin
t := GetTickCount;
while GetTickCount - t <= time do Application.ProcessMessages;
end;
Mit einem Timer würde ich das so lösen:
Code:
object Timer1: TTimer
Interval = 3000
end
-----------
procedure TForm1.Timer1Timer(Sender: TObject);
begin
Button1.Enabled := not Button1.Enabled;
end;