![]() |
MustangpeakVirtualshellTools, VirtualExplorerListView, SetCheckedFileNames sehr lahm
Seit einiger Zeit teste ich das VirtualExplorerListView von MustangpeakVirtualshellTools.
Eine einfache GUI ist in den Demos vorhanden (Demos/Explorer CheckBoxes). Wenn man ein Memo hat mit Pfaden drin die man checked haben möchte, ruft man auf
Delphi-Quellcode:
VirtualCheckboxesSynchronizer.SetCheckedFileNames(Memo.Lines.Text);
Das ruft dann SetCheckedFileNames in ![]() In einem Verzeichnis (Verzeichnis\2\) habe ich 358 Dateien mit je 1 Byte Größe zum Testen. Alle Pfade die Verzeichnis\2\ betreffen stehen auch im Memo. Die alle checked true zu setzen dauert irgendwie sehr sehr lange. Ich habe es noch nie durchlaufen lassen. Nach 1 Minute breche ich immer ab weil so lange will man nicht warten. Kennt sich jemand mit der Komponente aus und weiß, warum das so super lange dauert? Schon bei 100 Dateien dauert es schon lange. Bei mir dauert das das 50 Sekunden. Meine Verzeichnisstruktur: - Verzeichnis\ <- enthält 342 Dateien je 1 Byte - Verzeichnis\1\ <- enthält 322 Dateien je 1 Byte - Verzeichnis\2\ <- enthält 358 Dateien je 1 Byte |
AW: MustangpeakVirtualshellTools, VirtualExplorerListView, SetCheckedFileNames sehr
Sieh mal nach ob das Control Methoden wie BeginUpdate + EndUpdate oder was ähnliches hat, mit dem man ein Neuzeichnen nach jeder Änderung unterbinden kann.
|
AW: MustangpeakVirtualshellTools, VirtualExplorerListView, SetCheckedFileNames sehr
Aufgebaut ist das alles mit 3 Komponenten
TVirtualExplorerListview = der linke Teil des Explorers für Verzeichnisse TVirtualExplorerTreeview = der rechte Teil des Explorers für Dateien in den Verzeichnissen Verbunden wird das mit einem TVirtualCheckboxesSynchronizer. Das hier ist alles was man machen kann und es bringt leider nichts. Intern setzt SetCheckedFileNames FList auch BeginUpdate und EndUpdate.
Delphi-Quellcode:
Das muss doch schneller gehen. 100 CheckBoxen sind ja jetzt nicht die Welt.
VirtualExplorerListview.BeginUpdate;
VirtualCheckboxesSynchronizer.SetCheckedFileNames(Liste); VirtualExplorerListview.EndUpdate; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:23 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz