ExplorerListGadget wird bei jedem Event neu aufgebaut => Performance Problem

Für allgemeine Fragen zur Programmierung mit PureBasic.
Benutzeravatar
HW-SW-Tüftler
Beiträge: 11
Registriert: 30.07.2009 07:34
Wohnort: Schaafheim - Mosbach

ExplorerListGadget wird bei jedem Event neu aufgebaut => Performance Problem

Beitrag 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
____________________________________________________________________________
div. PC's mit Win10 und Win7, div. AMIGA's bis 68060, PureBasic 6.12LTS und Elektronik-Bauteile ohne Ende...

Bei Anderen dampft die Zigarette, bei mir der Lötkolben... :-)
DePe
Beiträge: 194
Registriert: 26.11.2017 16:17

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

Beitrag 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
Antworten