Hallo!
eine Komponente kannst du wie folgt dynamisch zur Laufzeit erstellen:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8:
| Var NewTimer: TTimer; Begin NewTimer := TTimer.Create (Nil); NewTimer.Interval := 1000; NewTimer.Enabled := True; NewTimer.OnTimer := DoTimer; End; |
DoTimer ist eine Procedure die aufgerufen wird wenn der festgelegte Zeitabschnitt verstrichen ist.
Da du ja mehrere Timer hast könntest du diese in ein TList-Objekt verwalten. Dazu erstellst du ganz am Anfang (z. b. im OnCreate Event der Form) die TList:
Delphi-Quelltext
Wenn du dann einen neuen Timer erstellst dann fügst du den Pointer auf die Instance in die Liste hinzu:
Delphi-Quelltext
Beim Beenden der Anwendung musst du aber die Timer wieder freigeben (z. B. im OnDestroy Event);
Delphi-Quelltext
1: 2: 3: 4: 5: 6:
| Var Idx: Integer; Begin For Idx := fList.Count -1 DownTo 0 Do TTimer (fList [Idx]).Free; End; |
Gruß
Tino