Hola.
Hice las pruebas sobre el componente que usó Angel. Ahora viendo tu ejemplo probé con el componente ComboBox y no presenta nigún problema! , pero no es así con el ListBox.
Código Delphi
[-]
procedure TForm1.FormCreate(Sender: TObject);
begin
lb.Items.Clear;
lb.Items.AddObject('menos 1', TObject(-1));
lb.Items.AddObject('menos 2', TObject(-2));
lb.Items.AddObject('menos 3', TObject(-3));
cb.Items.Clear;
cb.Items.AddObject('menos 1', TObject(-1));
cb.Items.AddObject('menos 2', TObject(-2));
cb.Items.AddObject('menos 3', TObject(-3));
end;
procedure TForm1.btnComboBoxClick(Sender: TObject);
begin
ShowMessage(cb.Items.IndexOfObject(TObject(-1)).ToString);
end;
procedure TForm1.btnListBoxClick(Sender: TObject);
begin
ShowMessage(lb.Items.IndexOfObject(TObject(-1)).ToString);
end;
Resultado:
Saludos