SHGetFileInfo_() und DestroyIcon_()

Windowsspezifisches Forum , API ,..
Beiträge, die plattformübergreifend sind, gehören ins 'Allgemein'-Forum.
Benutzeravatar
HeX0R
Beiträge: 3055
Registriert: 10.09.2004 09:59
Computerausstattung: AMD Ryzen 7 5800X
96Gig Ram
NVIDIA GEFORCE RTX 3060TI/8Gig
Win11 64Bit
G19 Tastatur
2x 24" + 1x27" Monitore
Glorious O Wireless Maus
PB 3.x-PB 6.x
Oculus Quest 2 + 3
Kontaktdaten:

SHGetFileInfo_() und DestroyIcon_()

Beitrag von HeX0R »

Moin,

für ein Projekt arbeite ich mit SHGetFileInfo_(), um die zugeordneten Icons von verschiedenen Files zu bekommen und sie in ein Treegadget einzupflegen.

Das funktioniert auch wunderbar.

Nun habe ich zu Testzwecken auch mal riesige Ordner benutzt und gesehen, dass der Speicherverbrauch rapide ansteigt.

MSDN sagt, ich muß das Icon wieder destroyen, nachdem es nicht mehr benötigt wird.

Also habe ich einfach direkt nach dem Einsetzen ins Treegadget das Icon wieder destroyed.
Das funktioniert auch, der Speicherverbrauch ist wieder in normalen Bahnen angekommen, aber ist das so überhaupt richtig?

Das Icon ist doch eigentlich noch in Gebrauch, oder ist da eine Kopie im Treegadget?
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Beitrag von ts-soft »

Das Icon ist nach dem Zuordnen in der Imagelist des TreeView. Dasselbe
gilt für ListIcon usw.
Zuletzt geändert von ts-soft am 30.05.2009 14:14, insgesamt 1-mal geändert.
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Benutzeravatar
Fluid Byte
Beiträge: 3110
Registriert: 27.09.2006 22:06
Wohnort: Berlin, Mitte

Beitrag von Fluid Byte »

Das TreeGadget hat seine eigene ImageList. Von daher, ja, es gibt eine Kopie.

[edit]
Verdammt seis du ts-soft! :lol:
Windows 10 Pro, 64-Bit / Outtakes | Derek
Benutzeravatar
HeX0R
Beiträge: 3055
Registriert: 10.09.2004 09:59
Computerausstattung: AMD Ryzen 7 5800X
96Gig Ram
NVIDIA GEFORCE RTX 3060TI/8Gig
Win11 64Bit
G19 Tastatur
2x 24" + 1x27" Monitore
Glorious O Wireless Maus
PB 3.x-PB 6.x
Oculus Quest 2 + 3
Kontaktdaten:

Beitrag von HeX0R »

Habt Dank :allright:
Antworten