Si almacenas el entero como objeto la búsqueda del valor también debe hacerse como un objeto.
Código Delphi
[-]
ComboBox1.Items.AddObject('A', TObject(-1));
ComboBox1.Items.IndexOfObject(TObject(-1));
ACodigo := -1;
ComboBox1.Items.IndexOfObject(ACodigo);
No tengo C++, así que el ejemplo está en Delphi
Código Delphi
[-]
procedure TForm1.Button1Click(Sender: TObject);
begin
ComboBox1.Items.Clear;
FDMemTable1.First;
while not FDMemTable1.Eof do
begin
ComboBox1.Items.AddObject(FDMemTable1Valor.AsString, TObject(FDMemTable1Codigo.AsInteger));
FDMemTable1.Next;
end;
end;
procedure TForm1.Button2Click(Sender: TObject);
var
lCodigo: Integer;
begin
Edit2.Clear;
if not TryStrToInt(Edit1.Text, lCodigo) then
Exit;
if ComboBox1.Items.IndexOfObject(TObject(lCodigo)) >= 0 then
Edit2.Text := ComboBox1.Items[ComboBox1.Items.IndexOfObject(TObject(lCodigo))];
end;