PDA

Ver la Versión Completa : error I/O 53


fjcg02
09-11-2006, 22:37:56
Hola a todos
Trabajo con delphi 7, con una aplicación que ataca una BBDD access con ADO. Tengo un grid con información de una tabla, y unos filtros en los que dependiendo la información que se desee se aplican a la tabla que se visualiza en el dbgrid ( utilizo la propiedad filter de la tabla). Hasta aquí todo normal.
El caso es que cuando corro el programa en un pc con los datos en local, funciona perfectamente.
Sin embargo, cuando ejecuto el programa en un pc que obtiene los datos de una unidad de red, cuando abro la tabla con el filtro que se aplica, me da el siguiente error "error I/O 53". A partir de ahí, el comportamiento del grid es errático. Entiendo que es un problema de ¿ velocidad de acceso a los datos ?.
El problema que tengo es que donde tengo la red no tengo el compilador, para saber exactamente dónde me da el error.
Hay alguien al que le haya pasado lo mismo ?
Hay manera de solucionar el problemas ?
:(

Gracias a todos por leer la pregunta.

Un saludo

egostar
09-11-2006, 22:49:05
El error que mencionas mas bien se refiere a un problema de red


Codigo 53
Descripción The network path was not found
Nombre ERROR_BAD_NETPATH


Aqui un link de Microsoft (http://msdn.microsoft.com/library/default.asp?url=/library/en-us/wcesdk40/html/cerefsystemerrors-alphabeticalorder.asp) donde puedes ver los errores.

Saludos

fjcg02
09-11-2006, 22:54:37
Otra cosa que no he comentado, no vaya a ser que el problema no tenga que ver con la tabla y el acceso a los datos.
Cada registro accede a un directorio del disco, y en un filelistbox muestro el contenido del directorio que apunta el registro.
Lo curioso es que esta parte no la he modificado para nada, y en el pc donde pruebo y no falla, no existen los directorios donde debieran estar los archivos, ya que esa parte no me interesa probarla; ya lo probé en su día y funcionaba perfectamente.

Gracias por la respuesta.

Un saludo

egostar
09-11-2006, 23:07:22
Asi como lo describes creo que lo mejor que puedes hacer es un trace para ver en que parte del código se genera el error.

Me confunde un poco lo que dices


Cada registro accede a un directorio del disco, y en un filelistbox muestro el contenido del directorio que apunta el registro



en el pc donde pruebo y no falla, no existen los directorios donde debieran estar los archivos


Saludos

fjcg02
09-11-2006, 23:18:33
Te explico la jugada.
Es un programa simple para simples.
Una tabla de presupuestos. En una variable se indica en qué directorio se guardarán los archivos relacionados con ese presupuesto (c:\datos , h:\departamento, ....). El codigo del presupuesto indicará el directorio donde se guardan los archivos asociados a ese presupuesto ( planos, presupuestos, fotos, etc )
ejemplo
Presupuesto 0001
datos de archivos en c:\datos\0001
Presupuesto 0002
datos de archivos en c:\datos\0002
etc.
con cada registro nuevo creo el directorio correspondiente. Al acceder al registro, actualizo el directorio del filelistbox (path+\codigo ) y lo refresco. Ante un doble click sobre un fichero del filelistbox, ejecuto
ShellExecute(Application.MainForm.Handle, nil,
StrPCopy(zFileName, Fichero),
StrPCopy(zParams, ''),
StrPCopy(zDir, FPath),
SW_SHOW);
y arranca automáticamente la aplicación asociada a la extensión del fichero ( word, excel, autocad, visor de jpg's ) que tenga el sistema operativo.
Pues eso.
Un saludo

egostar
10-11-2006, 02:17:17
Pues te reitero la única forma de saber en que punto de tu programa se está provocando el error es haciendo un trace de la aplicación, no veo otra forma de poder ayudarte.

Saludos.