Thema: Delphi Label ändert sich nicht

Einzelnen Beitrag anzeigen

Benutzerbild von Martin K
Martin K

Registriert seit: 20. Okt 2005
919 Beiträge
 
Turbo Delphi für Win32
 
#9

Re: Label ändert sich nicht

  Alt 10. Feb 2007, 14:48
Hi,
diese Variante funktioniert auch, wenn der 49. Tag überschritten wird:
Delphi-Quellcode:
procedure Delay(const Milliseconds: Cardinal);
var c: Cardinal;
begin
  c := GetTickCount;
  while (GetTickCount-Milliseconds < c) and not (Application.Terminated or DelayCanceled) do
  begin
    Application.ProcessMessages;
    Sleep(1);
  end;
end;
Anmerkung:
Eine globale Variable DelayCanceled: Boolean, damit das Delay auch jederzeit (z.B. bei einem Klick auf einen Button) abgebrochen werden kann.
Sleep(1); damit das Programm nicht ständig mit 100% CPU-Auslastung läuft.
Application.Terminated, damit Delay auch abgebrochen wird, falls man das Programm schließen will.

BTW: In der CL sollte sich dazu auch jede Menge finden lassen: DelayDelay
Mit den Menschen ist es wie mit Computern -
es gibt Nullen und Einsen.
  Mit Zitat antworten Zitat