![]() |
Component einer ObjectList zuweisen
Abend,
ich habe eine von TComponent abgeleitete Klasse (TBookmark) mit einer Eigenschaft Folder (TFolder = ObjectList). Wenn ich jetzt im der Eigenschaft Folder einen anderen TFolder zuweise, kann ich ja im Setter der Eigenschaft das TBookmark dem TFolder zuweisen.
Delphi-Quellcode:
Wird dabei die Instanz von TBookmark automatisch aus der vorherigen ObjectList (TFolder) entfernt? Muss dazu evtl. die Eigenschaft OwnObjects auf True sein?
Folder.Items.Add(Self);
|
Re: Component einer ObjectList zuweisen
Zitat:
Von daher: OwnsObject auf true empfiehlt sich, da nur die Komponente weiss, wann sie die Objekte in der TFolder freigeben kann und wann nicht, da sie der Hauptabnehmer bzw. Verwender der Listenelemente ist. Dadurch hast du aber auch den Zwang, dass du im Setter von TFolder die Elemente kopierst der anderen Liste. Also jeden Eintrag als neue Klasse anlegen und die Werte der Originalen Instanz übernehmen. Die Daten sind dann kopiert und beide Listen haben die gleichen Daten, aber unterschiedliche Instanzen. Im Normalfall regelt man dies im Setter mit einem Aufruf einer Assign() Methode der TFolder, welche natürlich zuvor, wie oben beschrieben, implementiert werden muss. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:38 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