Hallo,
ich habe folgendes Problem:
ich habe ein kleines Programm zu "türme von Hanoi" geschrieben und das Ergebnis soll in einer Listbox ausgegeben werden... Das klappt auch wunderbar, nur, dass es bei immer größer werdender Anzahl von Einträgen in die Listbox irgendwann seeeeehhhhr lange dauert, bis die Items in die Listbox übertragen werden. (ich kann anhand einer Progressbar den status der Berechnung sehen und sehe, dass die Berechnung bereits beendet ist, aber das Programm die Items erst nach der Berechnung in die Listbox lädt!) und das wiederum dauert wirklich sehr lange.
ich habe bereits folgendes versucht:
form1.ListBox1.Items.BeginUpdate;
sowie
form1.ListBox1.Items.Endupdate;
was, laut ausgiebiger g00gle suche, den Vorgang schneller machen sollte...
Zitat:
Adding a (larger) group of entries to a ListBox is very slow,
because after every "items.add" call the ListBox is repainted.
There are two ways to overcome this:
use the Windows message WM_SETREDRAW (see
Win32.hlp for details).
The
VCL provides two methods for this: BeginUpdate and EndUpdate.
(bringt allerdings nicht viel an geschwindigkeit !)
nun wollte ich fragen, ob es andere schnellere Arten gibt, die Items anzuzeigen und am besten diese sogar simultan zur Berechnung zu adden ...
Anmerkung: ich habe das Programm für meinen PDA mit lazarus kompiliert und auf diesem werden die Ergebnisse simultan zur Berechnung geaddet!
könnte es evtl nicht auch in Delphi die Möglichkeit geben, die Listbox so einzustellen, dass die Items simultan geaddet werden??
vielen Dank schomal im Vorraus
MFG Ändy