Hola Javier.
Acabo de probar el código que sigue (basicamente igual al anterior) con 20716 datos y devuelve correctamente el ID de cada paciente:
Código Delphi
[-]
procedure TForm1.FormCreate(Sender: TObject);
begin
with IBQuery1 do
begin
Close;
SQL.Clear;
SQL.Text := 'SELECT ID, NOMBRE FROM PACIENTES ORDER BY ID';
Open;
ComboBox1.Items.Add('PRIMER ITEM');
while not Eof do
begin
ComboBox1.AddItem(FieldByName('NOMBRE').AsString,
TObject(FieldByName('ID').AsInteger));
Next;
end;
end;
end;
procedure TForm1.ComboBox1Change(Sender: TObject);
begin
with TComboBox(Sender) do
ShowMessage(Format('%s %d',
[Items[ItemIndex], Integer(Items.Objects[ItemIndex])]));
end;
Por lo tanto descarto cualquier problema con el
TComboBox. (Ignoro la memoria que dispones).
¿ Estas seguro que el valor de la propiedad
ItemIndex se corresponde con el valor del campo
PaisID ?
Saludos