La primera pregunta que me hago es żEntiendes lo que estás haciendo en ésta línea?
Código Delphi
[-]
ComboBox.AddItem(tabla.descripcion.value,TObject(tabla.claveprimaria.value));
(1)
tabla.claveprimaria.value es un variant, no puedes hacer el cast así como así a TObject.
(2) Cuando almacenas un TObject, almacenas realmente el puntero al objeto; En éste (si es que eso fuera un TObject correcto), al final tendrías el apuntador al último objeto correcto, pčro los demás apuntarían a "basura", ya que cuando haces un Tabla.Next, no se crean objetos nuevos de tipo TField, sino que se van reaprovechando los mismos... (no se si me explico bien); Es decir,
tabla.claveprimaria.value es siempre el mismo elemento que va cambiando de valor.
Cita:
variable:=String(ComboBox.Items.Objects[ComboBox.ItemIndex]);
|
Como ya te he dicho, no puedes acceder al valor variant como objeto.