Einzelnen Beitrag anzeigen

berens

Registriert seit: 3. Sep 2004
434 Beiträge
 
Delphi 10.4 Sydney
 
#1

Assign auf Vorfahr-Komponente

  Alt 15. Jun 2009, 15:20
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) ??
  Mit Zitat antworten Zitat