Einzelnen Beitrag anzeigen

Aviator

Registriert seit: 3. Jun 2010
1.611 Beiträge
 
Delphi 10.3 Rio
 
#38

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

  Alt 11. Dez 2020, 11:38
Kommt das einfach in VSTGetImageIndexEx? Dann hab ich ja wieder die Ruckler und Aussetzer.
Naja bei den Remarks zu SHGetFileInfo im MSDN steht geschrieben, dass die Ausführung in einem Thread gemacht werden soll. Ansonsten kann es zu Rucklern bzw. Abstürzen führen. Siehe hier ...

Ich würde in dem Fall evtl. einen IconCache anlegen und dem beim Erstellen der Dateiliste füllen. Beim Zeichnen in OnGetImageIndex musst du dann nur noch den ImageIndex angeben. Kommt ein Dateityp hinzu der noch nicht in deinem IconCache enthalten ist, dann wird der hinzugefügt. Beim Zeichnen im Tree kannst du evtl. noch ein Fallback einbauen, dass ein Standardicon angezeigt wird, wenn der Thread Aufruf von SHGetFileInfo noch nicht abgeschlossen ist.


Das ist jetzt alles nur Theorie. Ich habe keinen SourceCode hierfür. Aber so sollte es funktionieren.
  Mit Zitat antworten Zitat