Zitat von
StTüff:
Mir ist klar, dass ich jedem Eintrag ein Objekt zuordnen kann.
Du könntest es einfach so machen:
Delphi-Quellcode:
// Schreiben
Strings.Objects[idx] := Pointer(Wert);
// Auslesen
Wert := Integer(Strings.Objects[idx]);
Das Problem bei deiner Idee ist, dass die ComboBox dir zwar ein TStrings-Interface gibt, intern aber eine eigene Implementierung dieser abstrakten Klasse verwendet. Die kannst du so einfach nicht erweitern. Komponenten, bei denen das vorgesehen ist, benutzen eine virtuelle Klassenfunktion zur Ermittlung der eigentlichen Klasse der nehmen ein Ereignis dafür (z.B. TTreeView.OnCreateNodeClass).
// NACHTRAG!!!
Habe gerade gesehen, dass das bei TComboBox sogar schon vorgesehen ist! Du musst dafür GetItemsClass überschreiben:
Delphi-Quellcode:
protected
// ...
function GetItemsClass: TCustomComboBoxStringsClass; virtual; abstract;