Zitat:
TShape(aSender).Visible
(aSender as TShape).Visible
Und dann überleg dir, warum es nun den "richtigen" Fehler gibt, bzw. warum er dort auftritt.
Warum die Variable fEnabled, anstatt direkt das Enabled des Timers durchzureichen?
Außerdem läuft der Timmer sinnlos auch dann, wenn nichts gemacht wird.
Und Sleep ... NEIN.
Da fehlt zwischendurch das Repaint und außerdem hängt dabei die Anwendung.
Lösung: Timer mit halbem Interval und dann
Visible := not Visible;
PS: [DELPHI] ... [/DELPHI]
Statt die Komponente ständig sichtbar/unsichtbar zu machen, würde ich eher empfehlen z.B. eine TPaintBox zu nehmen und
nur deine Komponente im Interval neu zu zeichnen,
anstatt die halbe Form (mindestens den Parent) zu zwingen sich neu zu zeichnen, wenn deine Komponente unsichtbar wird.