am 12.03.2009 18:23 Uhr schrieb Thomas Tempelmann unter [email protected]:
Hi, > Das Hauptproblem ist, daß man erstmal der Listbox beibringen muss, > dass sie die Scrollbalken so einrichtet, daß sie auch 65000 Zeilen > suggeriert und anwählbar macht (z.B. durch Page up/down-Tasten usw.) > > Den Rest kann man dann, wie Metti vorschlägt und wie es die "on > demand" LB macht, über die Paint-Events lösen, also erst die Daten > holen, wenn sie auch wirklich gezeigt werden sollen. > > Um erstmal die 65000 Dummy-Zeilen in die Listbox zu kriegen, kann man > evtl. mit der neuen Direktzuweisung arbeiten: Irgendwie kann man doch > nun die gesamte Listbox in einem Rutsch füllen, indem man Cell(-1,-1) > zuweist, oder so ähnlich. Yup, da kann man einen tab-return getrennten string zuweisen, aber... > D.h, man baut vorher einen passenden String zusammen, und weist den > dann zu. Das geht vermutlich schneller, als wenn man 65000mal AddRow > aufruft. Habe ich auch gedacht. Ist aber langsamer, und zwar nicht zu knapp (4-mal in meinem Test! Siehe auch http://support.realsoftware.com/listarchives/realbasic-nug/2008-12/msg00464. html) Wahrscheinlich splittet RB den Initstring dann wieder und ruft intern den addrow-Befehl 65000 mal auf, und man hat nur Zeit damit vertrödelt, den string für die cell(-1,-1) aufzubauen. Maximilian Tyrtania
