![]() |
TPersistent.Assign ?
Könnte mir vielleicht jemand helfen. Ich möchte (immer noch) ein Objekt kopieren.
In meinem Beispiel funktioniert dies leider nicht. Die Delphi-Hilfe hat mir leider auch nicht geholfen, das Problem besser zu verstehen…
Delphi-Quellcode:
Tp1 = class(TPersistent)
s: string; end; Tp2 = class(TPersistent) s: string; end; procedure kopieren; var o1: Tp1; o2: Tp2; begin o1 := Tp1.Create; o2 := Tp2.Create; o1.s := ‘Objekt 1’; o2.s := ‘Objekt 2’; o2.Assign(o1); //Hier soll o2 eine Kopie von o1 sein o1.Free; showmessage(o2.s); o2.Free; end; |
Re: TPersistent.Assign ?
Hallo.
TPersistent.assign und assignTo sind virtuelle methoden, deren eigentliche funktionalität zum kopieren musst du selbst implementieren -> überschreib (override) die methode assignTo in deiner klasse und füg dort den code zum kopieren ein...dann sollte es klappen :wink: WICHTIG: Nicht 'inherited' aufrufen, denn da wird der fehler ausgelöst. mfg. maximov. |
Re: TPersistent.Assign ?
Teste einfach mit TStrings, ich denke du hast es im wesentlichen schon verstanden. :angle:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:22 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz