Bisher funktionieren leider alle Lösungen nicht.
Liegt aber sicher an der Art wie ich die Timer erstelle... ich muss sie nämlich erstellen wärend das Programm läuft, und das mache ich so:
Delphi-Quellcode:
procedure TForm1.CreateTimers(Sender: TObject);
var
TimerArray: ARRAY OF TTimer;
i, j: Integer;
begin
SetLength(Timerarray, 0);
frconfig := TIniFile.Create(ExtractFilePath(ParamStr(0))+'frconfig.ini');
i := frconfig.ReadInteger('Counter', 'Foren', 0);
j := i-1;
SetLength(TimerArray, i);
for i := i downto 1 do
begin
TimerArray[j] := TTimer.Create(nil);
TimerArray[j].Interval := frconfig.ReadInteger('Foren', 'Timer'+IntToStr(i), 0);
TimerArray[j].Enabled := true;
TimerArray[j].OnTimer := TimerEvent;
j := j-1;
end;
end;
Ich Lese also die Dauer bis zum nächsten Aufruf aus einer Ini und Setze das Event so...
Wenn ich das jetzt mache wie oben beschrieben:
Delphi-Quellcode:
procedure TForm1.TimerEvent(Sender: TObject);
begin
ShowMessage('Ich bin Timer: '+IntToStr(TTimer(Sender).Tag)); // Oder Sender.Tag oder auch If Sender = Timer1 ...
end;
Dann bekomme ich nur Fehler... entweder kennt der das "Tag" nicht oder es kommen andere Fehlermeldungen (Wenn ich das so aufbaue dass variable j geschickt wird).
/edit: Ich bin natürlich für allgemeine Tips zu Delphi oder Hinweise auf Schönheitsfehler dankbar!