Archivo en ejecución o abierto

Estoy trabajando con VFP7.0 y necesito eliminar una archivo (Esto lo hago con DELETE FILE y todo bien), pero el problema es si el archivo que voy a eliminar del disco duro otra persona en la red lo tiene abierto o esta trabajando en él. ¿Cómo me puedo dar cuenta que nadie en la red esta trabajando con él?... Para que no me salga el error de acceso denegado.

1 respuesta

Respuesta
1
Intenta con la función FLOCK():
IF FLOCK( "MiArchivo" )
USE IN MiArchivo
DELETE FILE MiArchivo
ELSE
WAIT "El archivo se encuentra en uso" WINDOW NOWAIT
Endif
Bueno, eso digo yo...
Muy buena tu respuesta... pero no fui muy claro en la pregunta.
Me falto aclarar que el archivo es externo a FOX, es decir, ¿por ejemplo si el archivo fuera de Excel como hago?
Puedes usar ekl siguiente "truco" )
m.nAbierto = FOPEN( "Archivo.xls", 2 )
IF m.nArchivo > 0
=FCLOSE( m.nArchivo )
DELETE FILE MiArchivo.xls
ELSE
WAIT "El archivo se encuentra en uso" WINDOW NOWAIT
Endif

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas