Krolock
Geocacher
Charlenni schrieb:Klar. Man muss einfach den Timer im OnTick ereignis wieder stoppen.
Code:function ztimerTimer1:OnTick() ztimerTimer1:Stop() -- Was man sonst noch machen möchte end
Das funktioniert so einfach leider nicht. Man kann Intervaltimer nicht stoppen während sie gerade im ausführenden Modus sind. Das hat mit Synchronitäts-Sicherheits-Mechanismus zu tun. Ein Timer:Stop() wird ignoriert solange sich das Programm in der OnTick() Routine befindet.
Man muss es irgendwie schaffen, dass der Befehl Stop() erst dann gesendet wird, wenn der OnClick() Bereich verlassen ist. Dies man recht einfach über eine MessageBox erreichen, indem man den Spieler auf OK klicken lässt und im OnClicked-Event den Stop() Befehl sendet.
Bis der (im Vergleich zum Rechner) träge Spieler seine Wurstfinger aufs Display bewegt hat, ist OnTick() längst abgearbeitet.
Wem das zuviel Theorie ist, kann sich das ganze auch mit Screenshots aufgehübscht auf WherIBlog (Timer II - Countdown) ansehen.