Hi. Steh mal wieder auf dem Schlauch.
TComponent
--> TMeineKlasse1 (TComponent)
x, y: integer
--> TMeineKlasse2 (TMeineKlasse1)
Text: string
--> TMeineKlasse3 (TMeineKlasse2)
z: integer
Jetzt habe ich ein Objekt vom Typ TMeineKlasse3 voll mit Daten.
Das neue Objekt vom Typ TMeineKlasse1 soll mit .Assign so viele Daten wie möglich erhalten. Hier: x, y. Text und z entfallen ja logischerweise.
Die
Unit mit der Deklaration von TMeineKlasse1 soll nicht auf die
Unit mit TMeineKlasse3 referenzieren, sondern nur die Infos auswerten, mit der die Klasse arbeiten kann (alles von TComponent, x und y).
Hier bekomme ich die Meldung "TMeineKlasse3 kann nicht zu TMeineKlasse1 zugewiesen werden.".
Ist ja auch klar, TMeineKlasse1 kann ja nicht alle Informationen halten wie TMeineKlasse3.
Wie kann ich das Problem lösen, wenn ich wirklich nur die Daten mit assign haben will, die dieser Komponententyp halten kann?
Meine Ansätze:
1) Typcast: TMeineKlasse1.Assign ruft inherited Assign(TComponent(_Sender)) auf --> Klappt nicht
2) ??