Ver Mensaje Individual
  #6  
Antiguo 17-05-2004
Toni Toni is offline
Miembro
 
Registrado: may 2003
Ubicación: Barcelona - España
Posts: 364
Reputación: 22
Toni Va por buen camino
Hola Guillotmarc,

Gracias por todos tus comentarios, me lei todos tus post al respecto del anterior foro.

En principio tengo la ultima actualizacion de las ibx para C++ Builder 5 (ibx 5.04) que yo conozca.

He intentado aislar el problema creando un proyecto nuevo y haber si conseguia averiguar por donde iva la cosa.

He creado un proyecto nuevo y pruebo de realizar todo este montaje en un unico TDataModule en una aplicación normal (1 capa).

Primero he probado a realizar la relacion maestro-detalle solo con los componentes ibx y unos TDataSource directamente a unos grids y me funciona a la primera.

Una vez funcionando esto añado los componentes DataSetProvider y los dos ClientDataSet configurados tal y como comente en el 1er post, e un principio tampoco me funcionaban, finalmente he tocado tantas cosas que ya me visualiza el maestro y detalle, pero el funcionamiento no es del todo el esperado.

No se el porque todavia pero si intento abrir el ClientDataSet1 (cabecera) me da un error (cannot perform this operation on a closet dataset), lo curioso es que abro el ClientDataSet2 y me abre los 2.

Para que me medio funcionase tuve que poner en los campos persistentes de los clientDataSet el flag pfInWhere a false en todos los campos que no pertenecian a la clave principal, eso al tener puesto en el DataSetProvider la porpiedad UpdateMode a upWhereKeyOnly (es esto normal?)

Otra cosa estraña que me hace es cuando doy de alta un nuevo detalle, si no es el primer detalle de esa cabecera me lo guarda sin problemas, si resulta que es el primer detalle de la cabecera no me lo guarda.

Total que ahora si que salen los detalles pero el comportamiento no es el esperado, voy a probar a eliminar todo el datamodule y a empezar de nuevo porque he tocado ya de todo.

Acabo de probar a utilizar los nombres de parametros sin comillas tal y como me dices y en principio funciona igual.

Muchas gracias de nuevo por el interes,

Saludos,
__________________
Saludos,

Bitman
Responder Con Cita