Hallo,
ein paar Kleinigkeiten, die mit dem Problem nichts zu tun haben.
Überprüfe nie auf "true", auch wenn es in dem Fall geht. Schreibe es so:
if Ampel1Ro.Visible then
Das hier ist übrigens falsch:
Delphi-Quellcode:
if Ampel1Ro.Visible { = True } then
begin
Ampel1Ro.Visible:= False;
Ampel1Ge.Visible:= True;
end;
Es muss so lauten:
Delphi-Quellcode:
if Ampel1Ro.Visible then
begin
Ampel1Ge.Visible := true;
end;
Warum? Schau dir mal die Ampeln an. Die Springen nicht von Rot auf Gelb, sondern auf Rot-Gelb.
Des Weiteren könntest du deine if-Abfragen mit einem "else" verbinden.
Grüße, Matze