Seite 1 von 1

ExplorerListGadget wird bei jedem Event neu aufgebaut => Performance Problem

Verfasst: 31.05.2025 17:49
von HW-SW-Tüftler
Hallo,

zum ExplorerListGadget habe ich mal eine Frage:

Wenn sich in dem gerade angezeigten Verzeichnis etwas ändert, z.B. Dateien umbenannt oder gelöscht werden (sowohl innerhalb des Purebasic-Programms, als auch von außen durch andere Programme, die in dem Verzeichnis Änderungen vornehmen), "hüpft" der Scrollbalken des ExplorerListGadgets für jede einzelne Änderung "wild umher" und es dauert entsprechend lang, bis die Anzeige wieder "stabil steht" und die Aktualisierung abgeschlossen ist. Wenn z.B. 10 Dateien in dem angezeigten Verzeichnis umbenannt werden, hüpft der Scrollbalken vielleicht 20x auf und ab (genau gezählt habe ich es nicht), bis die Anzeige aktuell ist und steht.

Bei Verzeichnissen mit vielen Dateien und vielen Änderungen dauert das sehr lang und ist sehr nervig.

Gibt es dafür eine Lösung oder muss man etwas Spezielles beachten, damit das nicht auftritt?

Viele Grüße!
Markus

Re: ExplorerListGadget wird bei jedem Event neu aufgebaut => Performance Problem

Verfasst: 31.05.2025 20:30
von DePe
Ich verwende in meinem Programm einen Callback und filtere das DirectoryChange-Ereignis aus.

Peter

Code: Alles auswählen

Procedure ExplorerListCallback(hWnd, uMsg, wParam, lParam)
  #MSG_DirectoryChange = $3340
  If Not (uMsg = #MSG_DirectoryChange)
    ProcedureReturn CallWindowProc_(*pPrevFunc, hWnd, uMsg, wParam, lParam)
  EndIf
EndProcedure