Puedes usar una rutina genérica:
Código Delphi
[-]
procedure CargaCampo(campo:string; CampoId:String; Lista:TStrings);
begin
Lista.AddObject( Fieldbyname(campo).asString, pointer(Fieldbyname(CAmpoId).AsInteger));
end;
ya sólo tienes que llamar a esta rutina con
Código Delphi
[-]
CargaCampo('pais','idpais', combobox1.items
id := integer(combobox1.items.Objects[combobox.itemindex]);
... o usar un DBLookUpCombobox, (aunque no tendrá todas las funcionalidades, pero bueno.
Saludos