Verwendung von TComboBox

Ich arbeite seit einiger Zeit mit Delphi (eigentlich mit dem C++ Builder) und habe noch einige Verständnisprobleme bei der Verwendung von TComboBox bzw TListBox. In anderen Programmiersprachen habe ich diese Controls immer so verwendet, dass ich eine Zeichenkette mit einem Zusatzwert (userData, also int oder void*) eingefügt habe. Bei der Auswahl habe ich dann den Wert userData zurück erhalten. In Delphi scheint dieses Prinzip nicht zu funktionieren, zwar kann man per AddItem ein TObject* anhängen, man bekommt dieses aber nicht mehr zurück (bei der Auswahl).

Meine Frage ist nun, wie assoziiert man, welcher Wert ausgewählt wurde? Ohne Sortierung (sorted=false) kann ich das noch nachvollziehen, aber sobald die Sortierung eingeschaltet wird, habe ich mit dem Control alleine keine Möglichkeit mehr. Noch schwieriger wird es, wenn Doubletten in der Auswahl angezeigt werden, hier versagen sämtliche externen Mittel. Der Versuch ein TObject* für die Assoziation zu verwenden, ist am protected der Methode GetObject gescheitert.

Markus

Meine Frage ist nun, wie assoziiert man, welcher Wert
ausgewählt wurde?

Mit Listbox.ItemIndex bekommst Du den Index der gewählten Zeile

Mit obj:=Listbox.Items.Objects[Listbox.itemindex] bekommst Du das damit verknüpfte Object.

Viele Grüße Joachim