![]() |
Objecte in Combox ein und auslesen.
Hallo zusammen,
bei folgendem Fehler komme ich einfach nicht weiter. Ich lese Daten aus einer Datenbank in eine StringList ein.
Delphi-Quellcode:
Diese Daten sollen dann in eine Combobox übergeben werden. Der Normale Listenwert wird korrekt übergeben, das Objekt spinnt jedoch rum und fügt eine Random-Integer-Zahl ein.
Liste.AddObject(String(Field('NAME')), TObject(Integer(Field('ID'))));
Delphi-Quellcode:
Wo mache ich den Fehler?
for I := 0 to Liste.Count -1 do
begin cb_Anwender.Items.AddObject(Liste[I], TObject(Liste[I])); //cb_Anwender.Items.AddObject(Liste[I], TObject(Integer(Liste[I]))); // verschafft auch keine Besserung end; |
AW: Objecte in Combox ein und auslesen.
Delphi-Quellcode:
Ein Typecast hilft Dir ja nicht weiter, Du brauchst ja die originale Referenz.
cb_Anwender.Items.AddObject(Liste[I], Liste.Objects[I]);
|
AW: Objecte in Combox ein und auslesen.
Kann es sein, daß die Zahl die Addresse im Speicher ist,
aber nicht der Inhalt des Zeigers, den Du verwendest? (p statt p^) MfG, terence |
AW: Objecte in Combox ein und auslesen.
Noch einfacher wäre der Aufruf
Delphi-Quellcode:
denn damit werden alle Einträge (inkl. Inhalt von Objects[]) an die Combobox-Items angehängt.
cb_Anwender.Items.AddStrings(Liste);
|
AW: Objecte in Combox ein und auslesen.
Das ursprüngliche Einfügen würde ich eher so formulieren:
Delphi-Quellcode:
Und wenn man nicht anfügen, sondern nur zuweisen will, sollte es ein
Liste.AddObject(Field('NAME').AsString, TObject(Field('ID').AsInteger));
Delphi-Quellcode:
auch tun.
cb_Anwender.Items.Assign(Liste);
Achja, der Vollständigkeit halber noch das Auslesen der ID:
Delphi-Quellcode:
ID := integer(Liste.Objects[i]);
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:24 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz