Mam dość złożoną i dużą aplikację, która ładuje i ładuje dane. Czy istnieje szybki sposób dodawania elementów do ComboBox, które nie trwają tak długo? Na moim P3 3.2ghz poniższy fragment zajmuje zaledwie sekundę, by dodać około 32 000 elementów. (MasterCIList to StringList o łańcuchach zwykle o długości 20-30 bajtów).Delphi Dodawanie elementów do prędkości ComboBox
with LookupComboBox do
begin
Items.BeginUpdate;
Items.Clear;
for i := 0 to MasterCIList.Count - 1 do
Items.Add(MasterCIList[i]);
Items.EndUpdate;
end;
wiercenia w głąb VCL, wydaje się, że w TComboBoxStrings.Add, istnieje wezwanie do Wynik: = SendMessage (ComboBox.Handle, CB_ADDSTRING, 0 Longint (PChar (Y)));
Zgaduję, że to naprawdę zajmuje czas (w porządku, wiem, że to jest). Czy istnieje inny sposób na wypełnienie przedmiotów, które jest szybsze? Czy są dostępne wszystkie skrzynki combox wysokiej prędkości? Mam komponenty TMS, ale wydają się być rozszerzeniami TComboBox.
Na przykład mam PlusMemo, które wydaje się być całkowitym przerobem TMemo. Mogę z łatwością dodać milion linii w ciągu sekundy do PlusMemo. TMemo, nie sądzę.
Dziękuję bardzo za poświęcony czas!
Nie jest to odpowiedź, ale dlaczego miałbyś chcieć 32 000 przedmiotów w pudełku? To okropny sposób przechowywania tak dużej ilości danych. –