Autor | Thema: Listview füllen dauert | | Datum:27.09.02 00:06 
(cityelecronica@netcabo.pt) | |
Hallo
Ich benutze einen Listview um eine Kundendatei einzulesen,
das funktioniert gut aber es dauert zu lange die Daten in
den Listview zu schreiben, mit der Zeit wird diese Datei grösser werden und die Zeit zum einlesen natürlich auch, was
dann unerträglich wird.
Wenn ich das DbBrowse Befehl für die gleiche Funktion benutze, ist das mindesten 20 mal schneller
Hat jemand eine Lösung das schneller zu machem?
Danke für jede mögliche Hilfe
Fernando
|
| | Datum: 27.09.02 11:08 
(schmidts@flat2serv.de) | |
Ich weiss zwar nicht, wie "AutoRepaint" intern arbeitet, aber schau Dir mal folgenden Befehl an, ich denke, er hilft Dir weiter. Du musst die Aktualisierung deaktivieren, sonst zeichnet Windows mit jedem Eintrag neu und das dauert:
SendMessage(ListviewHandle&, WM_SETREDRAW, 0, 0) ' deaktiv.
SendMessage(ListviewHandle&, WM_SETREDRAW, 1, 0) ' aktivieren
Mit jedem neuen Eintrag muss Speicher allociert werden, was
dauert. Wenn Du schon vorher die Anzahl der Elemente weisst,
dann kannst Du definieren, wieviel Elemente reserviert werden
sollen. Damit muss das nicht mit jedem Eintrag gemacht werden:
SendMessage(ListviewHandle&, LVM_SETITEMCOUNT, Anzahl%, 0)
Mfg.
Sven Schmidts
|
|
|