Einzelnen Beitrag anzeigen

Jürgen Thomas

Registriert seit: 13. Jul 2006
Ort: Berlin
750 Beiträge
 
#12

Re: Timerabruf (Timer2) bei Timerablauf (Timer1)

  Alt 21. Mai 2007, 09:14
Hallo Svenkan,

noch ein Gedanke, wenn Du wirklich zwei Timer nutzen willst. Das kann sinnvoll sein, wenn ihr Intervall ziemlich unterschiedlich festgelegt wird (z.B. 15 Minuten für Reload und 10 Sekunden für NextTab).

TimerReload wird aktiviert (Enabled := true), nachdem die Daten eingelesen wurden, d.h. am Ende der Prozedur NeueDatenEinlesen.

TimerReloadOnTimer macht nichts anderes als sich zu deaktivieren: TimerReload.Enabled := false;

Die Prüfung innerhalb NextTab wird einfach erweitert, ob TimerReload abgelaufen ist oder nicht, d.h. ob er noch aktiviert ist:
Delphi-Quellcode:
procedure TForm2.TimerNextTabTimer(Sender: TObject);
begin
  case PageControl1.TabIndex of
    0: begin
         PageControl1.TabIndex := 1;
         StringGrid2Zeigen(AktuSeite);
    1: if ((AktuSeite < GesSeiten) or TimerReload.Enabled)
       // die vorstehende Abfrage wird erweitert
       then begin
         // wenn TimerReload noch läuft, dann zurück zu Seite 0
         if (AktuSeite < GesSeiten)
         then Inc(AktuSeite)
         else AktuSeite := 0;
         StringGrid1Zeigen(AktuSeite);
// alles andere bleibt wie gehabt
Jürgen

PS. Ich weiß nicht, ob Du meine vorigen Beiträge bereits gelesen hast; deshalb trage ich es als neuen Beitrag ein.
#D mit C# für NET, dazu Firebird
früher: Delphi 5 Pro, Delphi 2005 Pro mit C# (also NET 1.1)
Bitte nicht sauer sein, wenn ich mich bei Delphi-Schreibweisen verhaue; ich bin inzwischen an C# gewöhnt.
  Mit Zitat antworten Zitat