Das eigentliche Füllen muß im MainThread erfolgen, ansonsten passieren bei
viele Einträgen merkwürdige Dinge. Löschen erfolgt mittendrin statt am
Anfang, Icons fehlen oder sind verkehrt (er würferlt die Imagelist
durcheinander) usw. Alle Gadgets die sich auf dieses beziehen müssen auch
deaktiviert werden.
Abgesehen das Deine Variante schöner, flüssiger aussieht, ist sie viel zu
gefährlich. Das Gadget und alle Abhängigen deaktivieren und das füllen geht
auch wesentlich schneller, da nicht ständig neugezeichnet wird. Im Thread
kannste nur Vorbereitungen treffen. Ich lese ja erst in eine Linklist wegen
dem Sortieren, aber das ganze nimmt nur einen min. Bruchteil der
verbrauchten Zeit ein. Am längsten dauert das eigentliche Füllen, welches
bei deaktiviertem Gadget ein vielfaches schneller ist.
Sicher und Zeit sparen ist in Threads bei GUI-Elementen kaum möglich.
Dein Beispiel funktioniert ja so, aber da werden ja auch kaum Events
abgearbeitet, in einer realen Application mit wirklich vielen Einträgen
haste Chaos. Die Sache mit dem Memorycopieren, also das Gadget in
einem Rutsch neubefüllen sehe ich als einzig sinnvolle Alternative, wenn
ich bloß ne Idee hätte, wie man da an die Daten kommt und das ganze
umsetzt.
ExplorerTreeGadget-Anzeige ohne Dateiendung
- 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
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.

Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.

Schon mal bei Thread mit 30000 probiert? Schmiert bei mir ab.
Mit HideGadget verstecken geht auf jeden fall schneller.
FF
Mit HideGadget verstecken geht auf jeden fall schneller.
FF

Alles ist möglich, fragt sich nur wie...
Projekte ThreadToGUI / EventDesigner V3 / OOP-BaseClass-Modul
Downloads auf MyWebspace / OneDrive
Projekte ThreadToGUI / EventDesigner V3 / OOP-BaseClass-Modul
Downloads auf MyWebspace / OneDrive
Sparkie hat dies bereits einmal in einem älteren Beitrag für PB 3 im englischen Forum gezeigt (zusätzlich kann man auch Checkboxen ein- und ausblenden, bzw. auswerten):dysti hat geschrieben:Hey,
wie kann ich das ExplorerTreeGadget dazu bringen, die Dateien in einem Verzeichnis ohne Dateiendung anzuzeigen.
http://www.purebasic.fr/english/viewtop ... 88&start=4