In order for this site to work correctly we need to store a small file (called a cookie) on your computer. Most every site in the world does this, however since the 25th of May 2011, by law we have to get your permission first. Please abandon the forum if you disagree.

Para que este foro funcione correctamente es necesario guardar un pequeño fichero (llamado cookie) en su ordenador. La mayoría de los sitios de Internet lo hacen, no obstante desde el 25 de Marzo de 2011 y por ley, necesitamos de su permiso con antelación. Abandone este foro si no está conforme.

En relacion al problema planteado por Binguen en el foro Pro

Foro público de Xailer en español
jasm.quitaesto
Posts: 420
Joined: Sat Aug 16, 2008 9:06 pm

En relacion al problema planteado por Binguen en el foro Pro

Postby jasm.quitaesto » Fri Nov 13, 2009 11:39 am

Hola,
No se si tendra que ver o no con lo que aqui se comenta, pero hace
tiempo, desde la 1.8, estoy teniendo problemas parecidos al que se
describe. Investigando un poco descubri que si tengo varios objetos
DataSet (ya sean DataSet de Xailer o propios mios de un acceso a MySQL
que tengo por otro lado), hay veces que xHarbour se descontrola y
devuelve mal valores de las DATAS creadas de forma dinámica.
Por ejemplo, tengo un dataset a una consulta con las datas creadas
dinámicamente:
ID, Nombre, Domicilio, Poblacion, CPostal, Provincia, Telefono
Al hacer
oDataSet:Edit()
oDataSet:Id := 5
oDataSet:Domcilio := "Mi casa"
oDataSet:Poblacion := "Localidad"
oDataSet:cPostal := 41005
oDataSet:Provincia := "Sevilla"
oDataSet:Telefono := "123456789"
oDataSet:Update()
me ocurria un error ha generar la sentencia SQL para hacer INSERT o
UPDATE dandome un error de tipos incompatibles en Domicilio. Pude
comprobar, para mi sorpresa y estupor, que los valores de los campos
habí­an cambiado y así­ Id tenia NULL, Domicilio un 5, Poblacion "mi
casa", etcétera.
Aisle el problema en un proyecto aparte y no se presentaron estos
inconvenientes, por lo que deduzco que en xHarbour hay algun tipo de
problema con los objetos y las datas dinámicas y me huele que viene por
el control de la asignación de memoria a los arrays.
Sólo me queda comentar que al destruir y volver a crear el dataset se
corrige el problema, pero eso es salir por la calle de en medio no
solucionar el problema.
Saludos
Jose Alfonso Suarez Moreno
Bingen Ugaldebere escribió:
> He recompilado un programa antiguo con la nueva RC1 y me encuentro con
> algo que me deja perplejo, esta función que hasta ahora funcionaba sin
> problemas ahora al editar el DBF, cambiar el valor de un campo lógico a
> .T. y grabarlo con Update queda de nuevo como .F.
>
> Curiosamente con FastEdit() y FastUpdate() funciona sin problemas.
>
>
> METHOD BtnAceptarClick( oSender ) CLASS TFormPostIt
> Local oCdx, oDietario, oDbfUsuarios
>
> //Abrir el dietario del path del usuario
> WITH OBJECT oCdx := TCdxDataSource():New( )
> :cConnect := ::cDataPath
> :Create()
> END
>
> WITH OBJECT oDietario := TDbfDataSet():New( )
> :cName := "Dietario.DBF"
> :oDataSource := oCdx
> :cProcess := "GENERAL"
> :lOpen := .T.
> :Create()
> END
>
> oDietario:Goto(::nRegistro)
> oDietario:Edit()
> oDietario:AVISADO:=.T.
> oDietario:DATEAVISO:=LEFT(DTOC(DATE()),5)+" "+LEFT(TIME(),5)
>
> Msginfo(oDietario:AVISADO) ---->>> AQUI MUESTRA .T.
>
> oDietario:Update()
> Msginfo(oDietario:AVISADO) ---->>> AQUI MUESTRA .F.
> oCdx:End()
>
> RETURN Nil

Return to “Spanish”