Dein Beispiel lässt sich zwar starten (und hilft mir auch soweit erstmal mein Problem zu lösen, danke), allerdings verstehe ich nicht, warum inherited nicht funktioniert, siehe dieses Beispiel:
Delphi-Quellcode:
TKlasse1 = class(TComponent)
...
procedure TForm1.Button1Click(Sender: TObject);
var
K1 : TKlasse1;
K3 : TKlasse3;
begin
K1 := TKlasse1.Create(Self);
K1.Tag := 11;
K3 := TKlasse3.Create(Self);
K3.X := 5778;
K3.Y := 135;
K3.Z := 9788;
K3.Text := 'Bla';
K3.Tag := 22;
K1.Assign(K3);
MessageDlg(Format('X = %d Y = %d Tag = %d', [K1.X, K1.Y, K1.Tag]), mtWarning, [mbOK], 0); // Ausgabe: 5778 135 11 <-- sollte 22 sein
end;
Klar, in Assign müsste wieder inherited aufgerufen werden, damit Tag kopiert wird, aber dann kommt ja wieder die
Exception.
Bleibt scheinbar nix anderes übrig, als in meiner untersten Klasse die Werte von TComponent per Hand zu kopieren.
Danke auf jeden Fall schonmal an die Antworter