Einzelnen Beitrag anzeigen

Blup

Registriert seit: 7. Aug 2008
Ort: Brandenburg
1.429 Beiträge
 
Delphi 10.4 Sydney
 
#7

Re: Assign auf Vorfahr-Komponente

  Alt 16. Jun 2009, 09:49
TComponent implementiert kein eigenes Assign (um z.B. den Tag zu übernehmen).
Deshalb wird Assign von TPersistent aufgerufen, was zur Exception führt.
Wenn deine Komponente auch den Tag übernehmen soll, dann z.B. so:
Delphi-Quellcode:
procedure TMeineKlasse1.Assign(Source: TPersistent);
begin
  if Source is TComponent then
    Tag := TComponent(Source).Tag
  else
    inherited; {Exception auslösen}

  if Source is TMeineKlasse1 then
  begin
    X := TMeineKlasse1(Source).X;
    Y := TMeineKlasse1(Source).Y;
  end;
end;
  Mit Zitat antworten Zitat