Ich habe eine ziemlich komplexe und große Anwendung, die Lasten und Lasten von Daten reicht. Gibt es eine schnelle Möglichkeit, Elemente zur ComboBox hinzuzufügen, die nicht so lange dauert? Auf meinem P3 3.2ghz dauert das folgende Snippet knapp eine Sekunde, um rund 32.000 Elemente hinzuzufügen. (MasterCIList ist eine StringList mit Strings, die typischerweise 20 - 30 Bytes lang sind).Delphi Hinzufügen von Elementen zu ComboBox Geschwindigkeit
with LookupComboBox do
begin
Items.BeginUpdate;
Items.Clear;
for i := 0 to MasterCIList.Count - 1 do
Items.Add(MasterCIList[i]);
Items.EndUpdate;
end;
Bohren nach unten in die VCL, scheint es, dass in TComboBoxStrings.Add, gibt es einen Aufruf zu Ergebnis: = Sendmessage (ComboBox.Handle, CB_ADDSTRING, 0, Longint (PChar (S)));
Ich vermute, dies wirklich nimmt Zeit (okay, ich weiß, es ist). Gibt es eine andere Möglichkeit, die Items zu füllen, die schneller ist? Gibt es High-Speed-Combox-Boxen? Ich habe die TMS-Komponenten, aber sie scheinen Erweiterungen von TComboBox zu sein.
Zum Beispiel habe ich die PlusMemo, die insgesamt Umschreiben eines TMemo zu sein scheint. Ich kann problemlos eine Million Zeilen zu einem PlusMemo hinzufügen. Ein TMemo, das glaube ich nicht.
Vielen Dank für Ihre Zeit!
Keine Antwort, aber warum in aller Welt möchten Sie 32.000 Artikel in einer Combo-Box? Das ist eine schreckliche Art, so viele Daten zu speichern. –