Wieso keine TObjektList oder gar eine generische TList<TObject> (oder TComponent/TMyIrgendwas/...) ?
Und ja, da hier überall VISIBLE vorkommt, ist es eigentlich nötig sich den gemeinsamen Vorfahren rauszusuchen und dann das nur einmal zu machen.
Liest du eigentlich noch die anderen Beiträge oder versuchst du auf Teufel komm raus auf 40.000 Beiträge zu kommen?
Da Visible aber in der Basis protected ist, und man hier weiß, dass ALLEs ein Visible (das Selbe) hat, kann man hier auch blind in einen Typen casten, wo es public ist ... siehe UliBru.
Das ist sachlich falsch. Die Eigenschaft TControl.Visible ist public.