Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Verhalten der TTimer-Komponente während der Laufzeit... (https://www.delphipraxis.net/122690-verhalten-der-ttimer-komponente-waehrend-der-laufzeit.html)

Sven M. 20. Okt 2008 16:48


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

s.h.a.r.k 20. Okt 2008 16:58

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:
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;
ergo: neustart...
[/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