![]() |
KlassenObjekt um Child-Elemente erweitern
Tach,
Ich habe eine Parent-Klasse und würde sie gerne auf eine Child-Klasse erweitern, aber ohne ein komplett neues Objekt zu erzeugen. Die Informationen aus der Parent-Klasse sollen erhalten bleiben.
Delphi-Quellcode:
Leider bekomme ich beim Freigeben der Klassen nen Zugriffsfehler.
type
tparent = class(TObject) a : integer; constructor Create; end; tchild = class(tparent) b : integer; constructor Create; end; { parent } constructor tparent.Create; begin inherited; a := 6; end; { child } constructor tchild.Create; begin inherited; b := 5; end; procedure TForm1.FormCreate(Sender: TObject); var parent : tparent; child : tchild; begin parent := tparent.Create; child := tchild(parent).Create; parent.a := 0; parent := nil; child.Free; // parent.Free; end; Was mache ich falsch, und/oder was muss ich beachten? |
Re: KlassenObjekt um Child-Elemente erweitern
Hier mußt du (leider) ein komplett neues Objekt erzeugen und dann die Infos aus der alten Klasse da reinkopieren,
denn die neue Klasse beinhaltet mehr Speicher, welcher in der alten Klasse natürlich nicht existiert. Wenn vom Speicher (InstanzSize) her nix dazugekommen wäre, dann gäbe es zwar die eine oder andere Möglichkeit, aber dennoch sollte man sowas nicht machen und lieber neu erzeugen, rüberkopieren und das Alte löschen. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:58 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