Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   TVirtualStringTree mit TObjectList (https://www.delphipraxis.net/199906-tvirtualstringtree-mit-tobjectlist.html)

Aviator 1. Mär 2019 11:22

AW: TVirtualStringTree mit TObjectList
 
Zitat:

Zitat von bcvs (Beitrag 1426717)
Zitat:

Zitat von Aviator (Beitrag 1426712)
Auf
Delphi-Quellcode:
nil
setzen ist nicht schlimm. Er gibt es ja nicht frei. Schlimmer wäre es, wenn er es bereits freigeben würde. Dann gäbe es eine AV.

Und was ist, wenn die TOjectList später ihre Items freigeben will? Dann sind die nil und es gibt Speicherlecks.

Außerdem könnte es ja sein, dass man die Items außerhalb des VST noch braucht.

Er setzt doch nur den Zeiger auf das Objekt, welches in der ObjectList gespeichert ist, auf nil. Das Object selbst bleibt ja in der ObjectList erhalten und ist auch weiterhin zugreifbar. In NodeData steckt ja nur eine Referenz auf das Object.

bcvs 1. Mär 2019 11:52

AW: TVirtualStringTree mit TObjectList
 
Liste der Anhänge anzeigen (Anzahl: 1)
Sorry, Unsinn geschrieben

Aviator 1. Mär 2019 11:54

AW: TVirtualStringTree mit TObjectList
 
Zitat:

Zitat von bcvs (Beitrag 1426722)
Doch, es gibt Memory Leaks.

Der Zeiger, der in der VST gespeichert wird, ist der selbe, der auch in der ObjectList steht. Ich habe das Beispiel mal mit
Delphi-Quellcode:
ReportMemoryLeaksOnShutDown:=true
kompiliert.
s. Screenshot anbei.

Kannst du das Projekt mit dem du das getestet hast hier mal anhängen?


Alle Zeitangaben in WEZ +1. Es ist jetzt 19:24 Uhr.
Seite 2 von 2     12   

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz