![]() |
Verhalten der TTimer-Komponente während der Laufzeit...
Hallo DP'ler...:)
Mal wieder eine Frage an euch: Wie verhält sich die TTimer-Komponente, wenn ich das Intervall zur Laufzeit ändere? Hintergrund ist, dass ich eine Autosave-Funktion in mein Programm einbauen möchte. Und das Intervall kann während der Timer läuft, geändert werden. Startet der Timer dann von vorne? Oder Zählt er weiter bis zu der neuen Intervall-Grenze? Und wie verhält sich der Timer, wenn das neue Intervall kleiner ist als der aktuelle Stand des Timers (nur bezogen auf den zweiten Fall, für den ersten natürlich nicht relevant)? Besten Dank im Voraus, Sven |
Re: Verhalten der TTimer-Komponente während der Laufzeit...
probier es doch einfach aus?!
mach einen timer (20 sek.) und lass eben den aktuellen zeitstempel in ein memo ausgeben. dann verkürzt du die zeit und schaust nach was dann passiert. daraus wirst du mir sicherheit auf die funktion schließen können. ich würde behaupten -- womit ich mich aber weit aus dem fenster lehne -- dass der timer neu startet, da dies wahrscheinlich die logischste reaktion wäre. [edit] in der ExtCtrls steht das folgende:
Delphi-Quellcode:
ergo: neustart...
procedure TTimer.SetInterval(Value: Cardinal);
begin if Value <> FInterval then begin FInterval := Value; UpdateTimer; end; end; { ... } procedure TTimer.UpdateTimer; begin KillTimer(FWindowHandle, 1); if (FInterval <> 0) and FEnabled and Assigned(FOnTimer) then if SetTimer(FWindowHandle, 1, FInterval, nil) = 0 then raise EOutOfResources.Create(SNoTimers); end; [/edit] |
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:52 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz