Einzelnen Beitrag anzeigen

musicman56
(Gast)

n/a Beiträge
 
#10

AW: TTimer 2 Aktivieren

  Alt 19. Nov 2013, 08:01
Hallo,

es laufen wohl niemals zwei Timer gleichzeitig. Die einzelnen timergesteuerten Ereignisse können also nacheinander vom gleichen Timer erledigt werden. Damit hast du dann auch keine Probleme mit Überschneidungen, die ich zwangsläufig kommen sehe, wenn du mit dem Mediaplayer (verschiedene??) Sounds abspielen möchtest. Z.B. hast du unterschiedliche Ladezeiten bei unterschiedlicher Hardware. Das gibt zwangsläufig irgendwann mal Brühe

Delphi-Quellcode:
procedure TForm1.ErsterTimerEvent(Sender: TObject);
begin
  Timer.Tag := Timer.Tag + 1; // Tag als Hilfsmittel setzen, damit man jederzeit weiß, was der Timer gerade macht
  ...irgendwas tun
  if Timer.Tag > ??? then begin
    Timer.Enabled := false;
    Timer.OnTimer := ZweiterTimerEvent;
    Timer.Interval := 2000;
    Timer.Enabled := true;
  end;
end;

procedure TForm1.ZweiterTimerEvent(Sender: TObject);
begin
  Timer.Tag := Timer.Tag + 1;
   // ...irgendwas tun, z.B. den Mediaplayer starten, der dann das Tag des Timers neu setzt, wenn er FERTIG ist
   // ...Wenn Timer.Tag > "MediaPlayer ist fertig Tag" then TimerStart, TimerStop oder was sonst auch immer
end;

procedure TForm1.TimerStart;
begin
  Timer.Enabled := false;
  Timer.Tag := 0;
  Timer.Interval := 1000;
  Timer.OnTimer := ErsterTimerEvent;
  Timer.Enabled := true;
end;

Geändert von musicman56 (19. Nov 2013 um 10:54 Uhr) Grund: Bemerkung in ZweiterTimerEvent
  Mit Zitat antworten Zitat