Zitat:
Aber (aSender as TShape).Visible erzeugt den gleichen Fehler
Dürfte es eigentlich nicht.
Jetzt müsste ein Cast-Error kommen, weil ASender bestimmt der Timer ist und nicht das Shape,
aber da du eh bereits
in einer Methode dieses TShape/TMetronom bist, brauchst du Sender garnicht. (Self reicht)
harter Cast
TIrgendwas(etwas)
schreibt einfach blind den Typ der Variable um (prüft nicht den Inhalt)
weicher Cast
(etwas as TIrgendwas)
prüft ob wirklich der Typ drin ist