Wenn Daten über mehrere Klassen hinweg kopiert werden sollen, wäre der Klassiker die Klasse von TPersistent abzuleiten und Assign zu implementieren:
http://docwiki.embarcadero.com/Libra...sistent.Assign
Ansonsten ist die Antwort von himitsu natürlich einfacher
Dein Beispiel (ungetestet) erweitert:
Delphi-Quellcode:
Type
TMyData = class(TPersistent)
i : Integer;
j : Integer;
pt : TPoint;
public
procedure Assign(Source: TPersistent); override;
end;
TMyClass= Class(TMyData)
Index : Integer;
end;
TExtendClass = class ( TMyClass )
a : string ;
b : string ;
procedure LoadDatafromDatabase ;
end;
procedure TMyData.Assign(Source: TPersistent);
begin
if Source IS (TMyData) then
begin
Self.i := TMyData(Source).i;
Self.j := TMyData(Source).j;
....
end;
end;
procedure TExtendClass.LoadDatafromDatabase ;
var aData : TMyData;
begin
/// DAten aus einer Datenbank laden ....
ladeDaten ( aData ) ;
/// kann ich diesen länglichen umkopier code vermeiden ?????????
Self.Assign(aData);
end;