Si entrar en el tema de la base de datos, vamos a intentar solucionar el problema usando las propiedades del combobox:
Para llenar el combobox, utilizamos el método AddObject:
Código Delphi
[-]
while not Clientes.Eof do
begin
Comboname.Items.AddObject(Clientesnombre.AsString, TObject(Clientescodigo.AsInteger));
clientes.Next;
end;
Para saber el código asociado al cliente seleccionado:
Código Delphi
[-]
var
Codigo: Integer;
begin
if Comboname.ItemIndex > -1 then
Codigo:= Integer(Comboname.Items.Objects[Comboname.ItemIndex]);
end;
Ahora no tengo delphi aquí, así que puede haber algún error de sintaxis. Y también ignoro si existe la propiedad asInteger, creo que si, pero si no es así convierte el valor de código a un integer previamente.