Foros del Web » Programación para mayores de 30 ;) » Programación General » Visual Basic clásico »

Error 55 : el archivo ya esta abierto

Estas en el tema de Error 55 : el archivo ya esta abierto en el foro de Visual Basic clásico en Foros del Web. Hola gente! tengo una aplicacion que a veces falla y otras veces no falla, la parte del codigo donde falla es la siguiente Cita: dim ...
  #1 (permalink)  
Antiguo 08/12/2010, 06:36
 
Fecha de Ingreso: diciembre-2008
Mensajes: 91
Antigüedad: 15 años, 4 meses
Puntos: 1
Error 55 : el archivo ya esta abierto

Hola gente!

tengo una aplicacion que a veces falla y otras veces no falla, la parte del codigo donde falla es la siguiente
Cita:
dim localfile
localfile= "c:\bla\blablabla.txt"
[... más codigo...]
Open Localfile For Binary As #1


y el error es , como el titulo del post indica, Error 55 : el archivo ya esta abierto

¿Como se puede cerrar el archivo localfile antes de abrirlo? si es que esta abierto o como se puede solucionar esto de algun modo?
llevo unos dias ahi dandole y nada...a ver si alguien me ayudaaa...
saludos


  #2 (permalink)  
Antiguo 08/12/2010, 07:35
 
Fecha de Ingreso: mayo-2009
Mensajes: 94
Antigüedad: 14 años, 11 meses
Puntos: 3
Respuesta: Error 55 : el archivo ya esta abierto

Probá Con

Código:
Dim LocalFile as String
Dim NumberFile as Integer
     LocalFile = "C:\Doc\Text1.txt"
     NumbrerFile = FreeFile
[... más codigo...]
     Open LocalFile For Binary As #NumberFile
  #3 (permalink)  
Antiguo 08/12/2010, 07:43
 
Fecha de Ingreso: diciembre-2008
Mensajes: 91
Antigüedad: 15 años, 4 meses
Puntos: 1
Respuesta: Error 55 : el archivo ya esta abierto

Pues gracias por tu aporte pero eso no ha cambiado nadaa ---------------¿alguna alternativa?
  #4 (permalink)  
Antiguo 08/12/2010, 14:22
Avatar de erbuson  
Fecha de Ingreso: noviembre-2009
Mensajes: 701
Antigüedad: 14 años, 5 meses
Puntos: 53
Respuesta: Error 55 : el archivo ya esta abierto

Hola, antes de nada, aunque comprendo tu indignación, la pregunta de c...., creo que está de mas, pero bueno, esto es un tema aparte.

Te explico el error y porque se puede producir.

La función Freefile te devuelve un número de archivo disponible para ser utilizado, pero debes utilizarla siempre, supongamos

Numero = Freefile
Open "Fichero" For Input As #Numero

Open "Otro" For Input As #1

Esto te producirá un error porque muy probablemente Freefile te haya devuelto para Numero = 1

Al forzar tu la siguiente apertura como número 1 produces el error 55

Comprueba lo indicado y comenta, pero esta puede ser probablemente la razon.

Saludos
__________________
Agradecer a quien te enseñó, es enseñar lo que de él aprendiste.
Recuerda: Decir gracias, poco cuesta y mucho vale ...
  #5 (permalink)  
Antiguo 21/12/2010, 10:01
 
Fecha de Ingreso: diciembre-2008
Mensajes: 91
Antigüedad: 15 años, 4 meses
Puntos: 1
Respuesta: Error 55 : el archivo ya esta abierto

Gracias pero tampoco funciona
  #6 (permalink)  
Antiguo 21/12/2010, 12:43
Avatar de erbuson  
Fecha de Ingreso: noviembre-2009
Mensajes: 701
Antigüedad: 14 años, 5 meses
Puntos: 53
Respuesta: Error 55 : el archivo ya esta abierto

Si esto tampoco funciona, sin ver el código es muy dificil llegar a conclusiones, se me ocurren algunas posibles soluciones pero no dejan de ser chapuzas ya que lo que habría que intentar es determinar porque razón se produce el error.

Un posible opcion sería tener una variable compartida que se pusiera a True en el momento de abriri el archivo y a False en el momento de cerrarlo, entonces debería abrirse SOLO si la variable no es True porque ello significaría que está cerrado.

Otra posible opcion sería un On Error Resume Next pero deberías tener la certeza de que el archivo que está abierto es el correcto ya que de lo contrario quien sabe que datos se obtendrían.

Como digo, mejor sería determinar el porque viendo el código.
__________________
Agradecer a quien te enseñó, es enseñar lo que de él aprendiste.
Recuerda: Decir gracias, poco cuesta y mucho vale ...
  #7 (permalink)  
Antiguo 18/01/2011, 12:21
Avatar de fallen61  
Fecha de Ingreso: enero-2011
Mensajes: 4
Antigüedad: 13 años, 3 meses
Puntos: 0
Respuesta: Error 55 : el archivo ya esta abierto

Che todo bien hasta donde ibas, pero te salta eso PORQUE EL ARCHIVO YA ESTA ABIERTO. Si vos le decis que lo abra, es logico que te va a saltar ese error.
Cada vez que abras un archivo " as #N" cerralo con "Close #N" al terminar de usarlo.
Un ejemplo para que te quede mas claro que el agua mineral:


Open LocalFile For Binary As #NumberFile

(todo el codigo para mandar a hacer al archivo)


Close #NumberFile.


Pd: El post es hace casi un mes, pero esta es la respuesta a tu problema, lo revivo porque es mas que seguro mi respuesta tu solucion. Aunque haya posteado, espero que ya hayas encontrado la respuesta.

Suerte!

Etiquetas: time
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 01:10.