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;