Thema: Delphi Timer stoppen

Einzelnen Beitrag anzeigen

DelphiManiac

Registriert seit: 5. Dez 2005
742 Beiträge
 
#25

Re: Timer stoppen

  Alt 27. Feb 2008, 16:24
Hi,

ja stimmt, der Timer (so einfach er eigentlich ist) kann einem mit Application.ProcessMessages schlimme Probleme
bereiten.

Ich habe es jetzt so gelöst, dass er sich nicht selbst überholen kann:
Delphi-Quellcode:
TTimer(Sender).Enabled:=false;
..
..
..
..
..
TTimer(Sender).Enabled:=TimerSollLaufen;

Wenn ich jetzt extern das Flag TimerSollLaufen auf False setze, dann wird der Timer nach Ablauf der OnTimer Prozedur
beendet.

Meine Frage ist nun, wie kann ich mir sicher sein, dass er wirklich beendet ist?! Ich habe den Timer.Tag dazu genutzt,
mir anzuzeigen, ob er noch aktiv ist (1) oder beendet ist (0),
doch wenn ich auf dieses Flag polle, dann bleibt der Timer einfach stehen!
Gibt es dafür eine Erkärung?!

Delphi-Quellcode:
    while tmrAblauf.Tag >0 do
    begin
      Application.ProcessMessages;
    end;
    // Hier kommt er dann nie hin
  Mit Zitat antworten Zitat