Einzelnen Beitrag anzeigen

venice2
(Gast)

n/a Beiträge
 
#21

AW: VirtualStringTree - SHGetFileInfo hängt Programm auf / Canvas erlaubt kein Zeichn

  Alt 10. Dez 2020, 17:05
Ich würde dir vorschlagen dir die Samples vom VirtualStringTree anzuschauen.
https://github.com/JAM-Software/Virtual-TreeView
Keine Ahnung ob es das gleiche ist was du verwendest.

Zuletzt.
https://stackoverflow.com/questions/...ngetimageindex
https://stackoverrun.com/de/q/3265058

den index aus der ImageList bekommt man so.
VirtualStringTree1GetImageIndex

Bei Google suchenvirtualstringtree and imagelist delphi

EDIT:
Zitat:
Hier ist auch ein Beispiel wo SHGetFileInfo ständig aufgerufen wird ohne irgendwas mit Destroy oder so
Dann darfst du dich nicht wundern das nichts mehr gezeichnet wird.
ImageIndex := MeinNode-generisch.MeinIconIndex;
Du lädst jedesmal ein neues Icon.
Prüfe dann mal das Handle es ist unterschiedlich oder?
Also wird das Icon nicht freigegeben das bedeutet der Speicher deiner Anwendung explodiert Exponential
Das ist der Grund warum du dann irgendwann einfach nicht mehr zeichnen kannst.

Das du das Icon nicht mehr siehst ist normal nach DestroyIcon(Info.Hicon) denn du verwendest nicht den Index der ImageList sondern dein Index ist ein HIcon.
Das ist definitiv falsch!

Geändert von venice2 (10. Dez 2020 um 17:47 Uhr)
  Mit Zitat antworten Zitat