Page 1 of 1

Error DBFNTX/1210 Se detectó corrupción

Posted: Tue Nov 11, 2008 5:58 pm
by softdes
Saludos a todos. Este es mi primer post. Aunque soy usuario de Fivewin desde 1995, hasta ahora no he tenido necesidad de pedir ayuda desesperadamente. Os describo mi escenario: Fivewin 2.1, Clipper 5.2e y Resource Worksop 4.5. Ya se que estoy un poco anticuado, pero la rutina diaria me impide dedicar mas tiempo para el cambio.
Al grano, el proyecto en cuestion data del año 98 y ha funcionado con mucha estabilidad, hasta que un determinado módulo, el cual no ha tenido ningún cambio reciente, ha empezado a dar el error que pongo en el asunto. Hemos revisado código, optimizado en lo posible y el problema continua apareciendo, cuando le apatece.
El caso es que analizamos el error.log y nos aparece una cosa que nos llama la atención:

Variables in use
================
Procedure Type Value
==========================
LOCKERRHAN
Param 1: O Class: ERROR
Param 2: B { || ... } CodeBlock
(b)INITHANDL$
Param 1: O Class: ERROR
DBUNLOCK
ACTUALIZA
Param 1: C "Joya1"
Param 2: C "7 "
Local 1: N 0
Local 2: N 0
Local 3: N 13
Local 4: N 0
Local 5: N 0
Local 6: C " "
Local 7: N 0
Local 8: N ************************************
Por no sobrecargar el mensaje he omitido el resto de asteriscos ( algo así como 50000 mas, no exagero) y a continuación sigue el error.log con normalidad.
En todos mis años de Five nunca he visto esto e intuyo que puede ser el causante del problema.

Os estaré muy agradecido si tuvieseis alguna explicación a este problema.

Muchas gracias por anticipado.

Posted: Tue Nov 11, 2008 8:14 pm
by Antonio Linares
En la variable local octava de esa funcion estas almacenando un numero.

Que numero es ? Que valor contiene ?

Posted: Wed Nov 12, 2008 8:44 am
by softdes
Gracias Maestro por tu rápida respuesta.
Ya chequeamos eso, solo hay 7 variables locales declaradas por lo que entiendo que pudiera ser la primera variable no declarada (mala práctica, lo sé).
No obstante, revisando ahora el código, acabo de ver que alguien ha declarado como local una variable de memoria con el mismo nombre que un campo de la tabla que está provocando el fallo. Me parece bastante extraño, no obstante voy a probar a ver que pasa.

Nuevamente te agradezco tu colaboración.

Un saludo.