Pregunta sobre tDataset / tDbfDataSet
Publicado: Mar Jul 24, 2007 10:36 am
Buenas compañeros, llevo toda la semana loco con un error en un programa
de un cliente que me parecía inconcebible, en los tDbfDataset al editar
unos registros machacaba su contenido con el contenido de otros registro
del mismo tDbfDataset.
Dándole mil vueltas con debuger y demás me doy cuenta de que al hacer un
tDbfDataset:Seek( xxxx ) me encuentra el registro que le pido, lo
bloqueo modifico unos campos en el y lo grabo y los campos por mi
grabados están bien y el resto se lo cepilla con los datos del anterior
registro que estaba activo.
Conclusión después de hacer el Seek no hace un Load y por lo tanto no
refresca el contenido de los objetos Datafield.
He puesto un tDbfDataset:Load()después de cada Seek y ahora yo no hay
problemas.
¿ Hay que hacer un Load() cada vez que hago un Seek o un Goto o
cualquier otro movimiento semejante ?
En ese caso sería mas lógico modificar las clases en las que veo que
solo se hace Load en contadísimas ocasiones como al hacer :Edit() por
ejemplo.
Salu2.
de un cliente que me parecía inconcebible, en los tDbfDataset al editar
unos registros machacaba su contenido con el contenido de otros registro
del mismo tDbfDataset.
Dándole mil vueltas con debuger y demás me doy cuenta de que al hacer un
tDbfDataset:Seek( xxxx ) me encuentra el registro que le pido, lo
bloqueo modifico unos campos en el y lo grabo y los campos por mi
grabados están bien y el resto se lo cepilla con los datos del anterior
registro que estaba activo.
Conclusión después de hacer el Seek no hace un Load y por lo tanto no
refresca el contenido de los objetos Datafield.
He puesto un tDbfDataset:Load()después de cada Seek y ahora yo no hay
problemas.
¿ Hay que hacer un Load() cada vez que hago un Seek o un Goto o
cualquier otro movimiento semejante ?
En ese caso sería mas lógico modificar las clases en las que veo que
solo se hace Load en contadísimas ocasiones como al hacer :Edit() por
ejemplo.
Salu2.