Page 2 of 2

PostPosted: Fri Nov 30, 2007 10:38 am
by Biel EA6DD
Frafive wrote:Hola Biel

Yo lo que hago es clonar el objeto cuando entro en modo de edicion y despues tambien he modificado el metodo blank y me funciona perfectamente.

un saludo


METHOD Blank() CLASS TDataBase

local nFor, nLen
local cType
....


La modificación del metodo, es para no mover el registro de la tabla?

PostPosted: Fri Nov 30, 2007 10:42 am
by Biel EA6DD
Marcelo Via Giglio wrote:Biel,

yo hice una clase Tarray para trabajar con arrays como si fuera un dbf (hay varias implemenatciones de esto po ahi) y claro esta, hay cosas basadas en tDatabase, pero este problema que mencionas tambien se reproducia, como lo solucione?, es crear un buffer adicional, algo si

oData := dbData:buffer_blank() // te devuelve una estructura en blanco similar a la DB y pudes utilizar oData:<campo>, etc
oData := dbData:buffer_load() // te devuelve la estructura con los datos del reg actual
dbData:buffer_save( oData ) // salva el buffer en el registro actual




Gracias Marcelo, si eso es otra idea que tambien me habia rondado por la cabeza. Tener un Buffer separado para la edicion del registro, lo intentare implementar.

Yo habia pensado en algo similar, pero dentro de la propia clase. La idea era disponer de un segundo buffer para la edicion, y un data que marcara si se esta editando o añadiendo, y en funcion de ese data devolver de un buffer o del otro.

Ya veremos, ahora mismo tengo que seguir adelante con un proyecto y no tengo tiempo para seguir experimentando, pero en cuanto pueda, volvere sobre el tema.