Zitat von
Luckie:
Ich glaube ich habs:
Delphi-Quellcode:
procedure TKontakt.Assign(Source: TKontakt);
begin
Name := Source.Name;
Alter := Source.Alter;
end;
Nicht ganz; schau nochmals in Beitrag #14.
Delphi-Quellcode:
procedure TKontakt.Assign(Source: TPersistent);
begin
if Source is TKontakt then
begin
Name := TKontakt(Source).Name;
Alter := TKontakt(Source).Alter;
end
// weitere (fiktive) Klasse, die zugewiesen werden könnte
else if Source is TPerson then
begin
Name := TPerson(Source).FirstName + ' ' + TPerson(Source).LastName;
Alter := round((now - TPerson(Source).BirthDate) / 365.0);
end
// Wichtig!! wenn mir die Source-Klasse nicht bekannt ist, inherited aufrufen
else inherited;
end;