![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
![]() |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
|
|
#1
|
|||
|
|||
|
Hola, no es assign() es assigned(). La primera copia dos objetos. La segunda comprueba que el argumento pasado como puntero no sea null. Saludos.
|
|
#2
|
|||
|
|||
|
Hola, me refería a la linea:
form1.TJvDBLookupList.Field.Assign(prueba); Que es donde salta la excepción... |
|
#3
|
|||
|
|||
|
¿Son de los mismos tipos?¿o Fields es TFieldList? Si se puede acceder a Field de manera array (Field[0]) entonces son distintos tipos. De todas maneras, prueba con una asignacion directa (form1.TJvDBLookupList.Field = prueba) y comprueba antes si prueba no es null (if prueba = nil then showmessage(''))
|
|
#4
|
|||
|
|||
|
Son TField.
La sentencia form1.TJvDBLookupList.Field = prueba; no puede ejecutarse porque '.Field' es de sólo lectura... |
|
#5
|
|||
|
|||
|
Si es de solo lectura...tampoco le tendrias que poder hacer un assign en teoria. De todas maneras, has comprobado que prueba no sea nil antes del assign? ¿Y para que sirve la propiedad .Field? si es de solo lectura, probablemente sera por algun motivo.
|
|
#6
|
|||
|
|||
|
Es extraño que sea tipo TField. Si TJvDBLookupList es analogo al TDBLookupListBox, tendria que ser un tipo string...
EDITO : TDBLookUpListBox.DataField tambien es de tipo TField. Última edición por coso fecha: 31-10-2008 a las 22:47:17. |
|
#7
|
|||
|
|||
|
Hola de nuevo. Algo he avanzado al menos.
Resulta que cómo sigo bastante 'verde' con Delphi no había visto la propiedad 'DataField', la cual he usado para signar el campo (Field) 'TIPO' de la query. Ahora al menos esta sentencia no da problemas. Otra cosa: He cambiado el TJvDBLookupList por un TDBListBox, ya que sólo necesito mostrar todos los valores de un campo en la lista y no quiero complicarme. Lo peor es que (ahora) no soy capaz de hacer que se carguen los datos en la lista. He revisado y todo parece bien conectado. ¿Hay algo que me falta o algún paso es incorrecto? Añado la sección de código implicada: Código Delphi [-] { -La idea es cargar en la lista lo almacenado en el campo 'Tipo' de la tabla 'Tipos'- dbListTipos -> Lista asociada al sgte DataSource dsTipos -> Asociado a la query ibqObtenerTipos -> la query (SELECT DISTINCT(Tipo) as Tipo FROM Tipos) } self.dbListTipos.ReadOnly := true; self.dbListTipos.DataField := 'TIPO'; // Ejecutamos la query try with DM.dmPrincipal do begin // Preparamos la transacion if (ibtPrincipal.InTransaction) then if (not ibtPrincipal.Active) then begin ibtPrincipal.StartTransaction; ibtPrincipal.Active:=true; ibtPrincipal.Rollback; end; // Realizamos la petición de datos self.dsTipos.DataSet.Close; dmComunData.ibqObtenerTipos.Close; dmComunData.ibqObtenerTipos.Active := true; dmComunData.ibqObtenerTipos.Open; self.dsTipos.DataSet.Open(); // Mostramos el formulario self.ShowModal; // Al mostrar el formulario no se carga nada end; finally showmessage('ERROR DE BBDD'); end; Haciendo un debug, he visto que la query efectivamente devuelve los registros existentes en la BBDD, pero la lista no carga nada... Gracias de nuevo y un saludo. |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
Temas Similares
|
||||
| Tema | Autor | Foro | Respuestas | Último mensaje |
| Asignar datos origen a gráfico en tiempo de ejecución | g_rojo | Gráficos | 4 | 07-12-2007 01:44:19 |
| Asignar evento OnDrawColumnCell en tiempo de ejecución | gluglu | OOP | 6 | 01-06-2007 13:14:58 |
| Asignar propiedades de Ttable en tiempo de ejecución | coleleon | Tablas planas | 3 | 30-11-2005 23:22:39 |
| Asignar evento Oncalcfield en tiempo de ejecucion | el_barto | Conexión con bases de datos | 5 | 06-09-2005 00:08:46 |
| Asignar la ruta de tablas en tiempo de ejecucion | tortelini | Varios | 2 | 19-03-2005 12:13:53 |
|