Registriert seit: 19. Apr 2007
Ort: Dresden
781 Beiträge
Turbo Delphi für Win32
|
Re: Assign auf Vorfahr-Komponente
16. Jun 2009, 11:01
Zitat von Blup:
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;
Das würde natürlich bei allen Klassen <> TComponent eine Exception generieren.
Edit: Zitat eingefügt.
Lars S. Wer nicht mit der Zeit geht, geht mit der Zeit.
|