Du brauchst weder Application.ProcessMessages noch Sleep. Dein Problem ist: Du fragst Komponenten ab, ob sie sichtbar sind. Leider stellst Du intial alle auf unsichtbar, daher trifft keine der Bedingungen im Timer zu.
[edit] Was z.B. eine Möglichkeit wäre, im Timer die letzte Bedingung einfach wegzulassen:
Zitat:
Delphi-Quellcode:
else
If Gelb1.visible then
begin
Rot1.Visible:=true;
Gelb1.Visible:=false;
Gruen1.visible:=False;
RotGelb1.visible:=False;
Application.ProcessMessages;
sleep(1000);
end;
-->
Delphi-Quellcode:
else
// If Gelb1.visible then
begin
Rot1.Visible:=true;
Gelb1.Visible:=false;
Gruen1.visible:=False;
RotGelb1.visible:=False;
end;
[/edit]