Haciendo pruebas para verificar que pasa con tdolphin cuando hay cortes, esto es lo que me sucedio.
Cuando tdolphin perdía la conexión con el servidor mysql (yo cortaba la conexión de red para la prueba) se lanzaba un GPF (trabajo me costo ubicar el problema)
y esto es lo que descubri:
aca hay se lanzaba un error de FOR EACH Anidado, cambie el codigo validando si es un array (aArray)
acá quería hacer algo como .and. ::hMysql > 0 pero esto es un puntero
osea validar que la reconexion fue correcta, para proceder a reasignar los querys, pero no halle mejor cosa que ::lError, por favor valida si es la mejor opcion
aca me parece que falta cambiar ::lError
Agregado el tdolphinsrv
salu2
carlos vargas
Cuando tdolphin perdía la conexión con el servidor mysql (yo cortaba la conexión de red para la prueba) se lanzaba un GPF (trabajo me costo ubicar el problema)
y esto es lo que descubri:
aca hay se lanzaba un error de FOR EACH Anidado, cambie el codigo validando si es un array (aArray)
FUNCTION SqlStringFromArray( aArray )
LOCAL cItem, cString := ""
IF HB_IsArray( aArray ) .and. Len( aArray ) > 0
FOR EACH cItem IN aArray
cString += D_LowerCase( cItem ) + ", "
NEXT
cString := Left( cString, Len( cString ) - 2 )
ENDIF
RETURN cStringacá quería hacer algo como .and. ::hMysql > 0 pero esto es un puntero
osea validar que la reconexion fue correcta, para proceder a reasignar los querys, pero no halle mejor cosa que ::lError, por favor valida si es la mejor opcion
METHOD ReConnect() CLASS TDolphinSrv
LOCAL oQry
::hMysql := ::Connect()
IF HB_IsArray( ::aQueries ) .and. !::lError
FOR EACH oQry IN ::aQueries
oQry:oServer := Self
oQry:Refresh()
NEXT
ENDIF
RETURN NILaca me parece que falta cambiar ::lError
METHOD LoadQuery( lBuildData ) CLASS TDolphinQry
...
IF ! ( ::hResult == NIL )
::aStructure := MySqlResultStructure( ::hResult, lCaseSen, D_LogicalValue() )
::nRecCount := MySqlNumRows( ::hResult )
::nRecNo := Max( 1, ::nRecNo )
::nFCount := Len( ::aStructure )
::oServer:lError := .F. //NUEVOAgregado el tdolphinsrv
METHOD NetErr() INLINE ::lErrorsalu2
carlos vargas
Salu2
Carlos Vargas
Desde Managua, Nicaragua (CA)
Carlos Vargas
Desde Managua, Nicaragua (CA)