ayuda!!

08/07/2004 - 16:54 por Alejandra Parra | Informe spam
Tengo otro sistema que crea un archivo, y yo lo abro para analizarlo
Pero hay ocasiones que el otro sistema (el cual no tengo control ni codigo),
deja el archivo abierto, y me gustaria cerrarlo antes de leerlo, porque si
no me marca como archivo bloqueado y truena todo mi programa, aunque use
TRY- CATCH

For Each fInfo In tr3Info
If fInfo.Exists Then 'Si el archivo exise
oRead = oFile.OpenText(fInfo.FullName) 'Abre el archivo y lo pasa al leector
sFile = oRead.ReadToEnd 'Obtiene toda la informacion del archivo
oRead.Close()

Y tambien cuando hago esto...

If tr3Files.IndexOf(fInfo.DirectoryName & "\" & fInfo.Name) >= 0 Then
tr3Files.Remove(fInfo.DirectoryName & "\" & fInfo.Name)
End If

llega a marcar error porque esta abierto el archivo...

El proceso no puede obtener acceso al archivo "C:\EXPORT\38061.txt" porque
está siendo utilizado en otro proceso
 

Leer las respuestas

#1 Jose Marcenaro
08/07/2004 - 18:26 | Informe spam
Si otro proceso tiene abierto un archivo, tu aplicación no puede de ninguna
manera cerrarlo (eso sólo puede hacerlo el mismo proceso que lo tiene
bloqueado, o bien un "kill" de ese proceso a nivel del sistema operativo)

Mediante un Try/Catch podrias detectar ese error y pasar al siguiente
archivo -salteando ese- para que tu aplicacion no quede bloqueada...
Saludos
Jose Marcenaro

"Alejandra Parra" escribió en el mensaje
news:
Tengo otro sistema que crea un archivo, y yo lo abro para analizarlo
Pero hay ocasiones que el otro sistema (el cual no tengo control ni


codigo),
deja el archivo abierto, y me gustaria cerrarlo antes de leerlo, porque si
no me marca como archivo bloqueado y truena todo mi programa, aunque use
TRY- CATCH

For Each fInfo In tr3Info
If fInfo.Exists Then 'Si el archivo exise
oRead = oFile.OpenText(fInfo.FullName) 'Abre el archivo y lo pasa al


leector
sFile = oRead.ReadToEnd 'Obtiene toda la informacion del archivo
oRead.Close()

Y tambien cuando hago esto...

If tr3Files.IndexOf(fInfo.DirectoryName & "\" & fInfo.Name) >= 0 Then
tr3Files.Remove(fInfo.DirectoryName & "\" & fInfo.Name)
End If

llega a marcar error porque esta abierto el archivo...

El proceso no puede obtener acceso al archivo "C:\EXPORT\38061.txt" porque
está siendo utilizado en otro proceso


Preguntas similares