Gut, sowas kann man auch machen.
Aber ich habe es mir angewöhnt nur die Daten zu übergeben, die auch in der Funktion benötigt werden.
Und nun rate mal, was du für deine gewünschte Funktion benötigst.
Ausnahmen:
* Deine Klassen sind von TComponent abgeleitet und du verwendest dort beim Erstellen deine Überkomponente als Owner (was man da auch so machen sollte), dann kannst du auch den Owner nehmen, auf des gewünschten Typ casten und verwenden. (so mancher baut ein eigenes Property oder überschrteibt das Owner-Property und verwendet dort den Zieltypen)
* und es gibt bei einigen Listentypen bereits en Feld/Property, in welchem die Owner-Komponente (die Liste) von Delphi gespeichert ist