Einzelnen Beitrag anzeigen

HolgerX

Registriert seit: 10. Apr 2006
Ort: Leverkusen
961 Beiträge
 
Delphi 6 Professional
 
#7

AW: Daten zwischen Klassen übertragen (mit RTTI?)

  Alt 12. Okt 2016, 13:26
Dadurch das die abgeleitete Klasse im Assign 'inherited' aufruft, werden alle Daten kopiert, welche in der jeweiliger Klasse vorhanden sind.

Somit kopiert jede Klasse nur ihre Teilmenge...

Delphi-Quellcode:
type
  TMyClass1 = class(TPersistent)
  public
    Nr : Integer;
    NachName : string;
    Vorname : string;
    Telnr : string;
    procedure Assign(Source: TPersistent); override;
  end;

  TMyClass2=Class(TMyClass1)
  public
    PLZ : string;
    FremdNr : Integer;
    procedure Assign(Source: TPersistent); override;
  end;

implementation

{ TMyClass1 }

procedure TMyClass1.Assign(Source: TPersistent);
begin
  inherited;
  if Source is TMyClass1 then
    Nr := TMyClass1(Sender).Nr;
    NachName:= TMyClass1(Sender).NachName;
    Vorname := TMyClass1(Sender).Vorname;
    Telnr := TMyClass1(Sender).Telnr;
  end;
end;

{ TMyClass2 }

procedure TMyClass2.Assign(Source: TPersistent);
begin
  inherited;
  if Source is TMyClass2 then
    PLZ := TmyClass2(Sender).PLZ;
    FremdNr := TmyClass2(Sender).FremdNr;
  end;
end;
  Mit Zitat antworten Zitat