El error C000005 en VFP
Por:David Amador T. Visitas: 999
En ocasiones estamos desarrollando un proyecto y en un fragmento de código común y corriente VFP nos manda el error C000005 y se bloquea el lenguaje.
El error realmente es de acceso de memoria que ocasiona una excepción que es manejada por el sistema operativo, no por el propio VFP.
La excepción ocurre en un esfuerzo cuando el programa intenta acceder a una memoria que es indefinida, que no posee, o no tiene privilegios suficientes para acceder a ella como se pidió, además es una indicación que el programa ha ocasionado alguna acción ilegal que podría tener consecuencias a otros procesos corrientes (otras aplicaciones ejecutadas), así que el Sistema operativo los atrapa y termina el proceso inmediatamente.
Se podría decir que al no poder controlar la acción invocada por un pedazo de código de VFP, el OS determina que ese proceso es potencialmente inseguro y lo finaliza sin devolver el control a VFP.
En ocasiones decíamos que VFP provocaba el error, pero esto es virtual ya que como dije antes es el OS el que ocasiona el problema; pero, ¿Debería esto suceder?.
He probado intentando interceptar el error con la rutina de VFP ON ERROR, pero no sirve de nada ya que es un error del Sistema Operativo, por tanto esa rutina no sirve de nada. Talvez podria hacerse a través del API de Windows.
Microsoft ha corregido algunos de los accesos ilegales de memoria que realiza parte del código de VFP; los Services Pack resuelven algunos de estos inconvenientes pero en verdad son muchos