- Verwende für Quelltexte im Forum möglichst immer die Delphi-Tags (Helm-Symbol)
- Rücke den Code möglichst sinnvoll ein, dies bringt nicht nur Dir eine bessere Übersicht.
- Direkte Überprüfung auf True oder False ist schlecht, besser Du verwendest folgende Form
Delphi-Quellcode:
if Timer1.Enabled then....
if NOT Timer1.Enabled then...
Zitat:
Delphi-Quellcode:
procedure tform1.timer1timer(sender: Tobject);
begin
if shape1.left >= 0
then begin
timer1.interval := 100;
shape1.left := shape1.left + 30;
if shape1.left = 150 then timer1.enabled:=false;
if timer2.enabled then timer1.enabled := true; //Macht keinen Sinn -> ev. falscher Timer?
end;
end;
procedure tform1.timer2timer(sender: Tobject);
begin
if timer1.enabled
then begin
timer2.interval := 100;
shape1.left := shape1.left - 30;
if shape1.left = 0 then timer2.enabled := false;
end;
end;
end.
Die Procedure tform1.timer1timer wird aufgerufen, wenn der Timer1 aktiv ist und das definierte Intervall abgelaufen ist.
Insofern macht die beanstandete Zeile keinen Sinn - der Timer1 läuft ja bereits. Ich nehme mal an, dass Du eigentlich den Timer2 starten willst?