Ho un'applicazione abbastanza complessa e di grandi dimensioni che consente di caricare carichi e carichi di dati. C'è un modo rapido per aggiungere elementi a ComboBox che non richiede così tanto tempo? Sul mio P3 3.2ghz, il seguente frammento di codice richiede poco meno di un secondo per aggiungere circa 32.000 articoli. (MasterCIList è una lista di stringhe con stringhe generalmente lunghe 20-30 byte).Delphi Aggiunta di elementi alla velocità di ComboBox
with LookupComboBox do
begin
Items.BeginUpdate;
Items.Clear;
for i := 0 to MasterCIList.Count - 1 do
Items.Add(MasterCIList[i]);
Items.EndUpdate;
end;
perforazione giù nella VCL, sembra che in TComboBoxStrings.Add, v'è una chiamata a risultati: = SendMessage (ComboBox.Handle, CB_ADDSTRING, 0, Longint (PChar (S)));
Immagino che stia davvero prendendo tempo (ok, lo so che lo è). C'è un altro modo per popolare gli Articoli che è più veloce? Sono disponibili scatole combox ad alta velocità? Ho i componenti TMS ma sembrano estensioni di TComboBox.
Ad esempio, ho il PlusMemo che sembra essere una riscrittura totale di un TMemo. Posso aggiungere facilmente un milione di righe in un secondo a PlusMemo. Un TMemo, io non la penso così.
Grazie mille per il vostro tempo!
Non una risposta, ma perché mai vorresti 32.000 articoli in una casella combinata? Questo è un modo terribile per memorizzare tanti dati. –