Seite 2 von 2

Verfasst: 06.05.2009 20:57
von ts-soft
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.

Verfasst: 06.05.2009 21:53
von mk-soft
Schon mal bei Thread mit 30000 probiert? Schmiert bei mir ab.

Mit HideGadget verstecken geht auf jeden fall schneller.

FF :wink:

Verfasst: 07.05.2009 09:11
von Shardik
dysti hat geschrieben:Hey,
wie kann ich das ExplorerTreeGadget dazu bringen, die Dateien in einem Verzeichnis ohne Dateiendung anzuzeigen.
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):
http://www.purebasic.fr/english/viewtop ... 88&start=4

Verfasst: 07.05.2009 10:14
von dysti
Danke @Shardik, sowas ähnliches hatte ich gesucht.