Foros del Web » Programación para mayores de 30 ;) » .NET »

No puedo borrar un fichero en uso

Estas en el tema de No puedo borrar un fichero en uso en el foro de .NET en Foros del Web. Hola a todos, tengo el siguiente problema que no sé como solucionar en vb.net 2005: Yo genero un fichero bmp que asigno a un picturebox ...
  #1 (permalink)  
Antiguo 17/03/2010, 05:50
 
Fecha de Ingreso: mayo-2008
Mensajes: 70
Antigüedad: 16 años
Puntos: 0
No puedo borrar un fichero en uso

Hola a todos, tengo el siguiente problema que no sé como solucionar en vb.net 2005:

Yo genero un fichero bmp que asigno a un picturebox usando Image.FromFile. Después quiero borrar el fichero. Me da un error porque me dice que está en uso. Hasta aquí lo comprendo. Entonces pongo la imagen del picturebox a nothing y vuelvo a intentar borrarlo, pero me sigue dando el mismo error que antes de que el fichero está en uso.

1. Puedo borrar el fichero justo después de asignarlo al picturebox?
2. En caso de que no se pueda, como puedo borrarlo después de haberlo quitado del picturebox? Siempre me dice que el fichero está en uso.

Muchas gracias.
  #2 (permalink)  
Antiguo 17/03/2010, 10:29
Avatar de gedarufi  
Fecha de Ingreso: diciembre-2008
Ubicación: Colombia
Mensajes: 540
Antigüedad: 15 años, 5 meses
Puntos: 22
Respuesta: No puedo borrar un fichero en uso

Como estas generando el archivo?, por lo que mencionas se me hace que aun tienes un Stream abierto que te impide borrar el archivo, fíjate en eso o pon el código que estas utilizando para poder ayudarte


Saludos
  #3 (permalink)  
Antiguo 18/03/2010, 04:10
 
Fecha de Ingreso: mayo-2008
Mensajes: 70
Antigüedad: 16 años
Puntos: 0
Respuesta: No puedo borrar un fichero en uso

Cita:
Iniciado por gedarufi Ver Mensaje
Como estas generando el archivo?, por lo que mencionas se me hace que aun tienes un Stream abierto que te impide borrar el archivo, fíjate en eso o pon el código que estas utilizando para poder ayudarte


Saludos
Estoy seguro que no es por eso, porque el problema me lo da en esta línea:

picFoto.Image = Image.FromFile(ctRutaProgramas & "\foto.bmp")

Si elimino esa línea me borra el bmp al salir del programa perfectamente. Si no la elimino, a pesar de hacer picfoto.image=nothing no me borra el fichero porque me dice que está en uso.
  #4 (permalink)  
Antiguo 18/03/2010, 09:42
Avatar de gedarufi  
Fecha de Ingreso: diciembre-2008
Ubicación: Colombia
Mensajes: 540
Antigüedad: 15 años, 5 meses
Puntos: 22
Respuesta: No puedo borrar un fichero en uso

Prueba con este código y nos cuentas como te fue

Código C#:
Ver original
  1. System.IO.FileStream fs = new System.IO.FileStream(ctRutaProgramas + "\\foto.bmp", System.IO.FileMode.Open);
  2. picFoto.Image = Image.FromStream(fs);
  3. fs.Close();
  #5 (permalink)  
Antiguo 19/03/2010, 02:38
 
Fecha de Ingreso: mayo-2008
Mensajes: 70
Antigüedad: 16 años
Puntos: 0
Respuesta: No puedo borrar un fichero en uso

Cita:
Iniciado por gedarufi Ver Mensaje
Prueba con este código y nos cuentas como te fue

Código C#:
Ver original
  1. System.IO.FileStream fs = new System.IO.FileStream(ctRutaProgramas + "\\foto.bmp", System.IO.FileMode.Open);
  2. picFoto.Image = Image.FromStream(fs);
  3. fs.Close();
Con esto ha ido perfecto. Mil gracias por la ayuda!!!
  #6 (permalink)  
Antiguo 19/03/2010, 16:13
Avatar de gedarufi  
Fecha de Ingreso: diciembre-2008
Ubicación: Colombia
Mensajes: 540
Antigüedad: 15 años, 5 meses
Puntos: 22
Respuesta: No puedo borrar un fichero en uso

Por aqui a la orden.

Saludos
  #7 (permalink)  
Antiguo 11/11/2010, 08:07
 
Fecha de Ingreso: noviembre-2010
Mensajes: 3
Antigüedad: 13 años, 5 meses
Puntos: 0
Respuesta: No puedo borrar un fichero en uso

Hola!

Tengo un problema similiar con el control WebBrowser de .net
Tengo un archivo pdf que no me deja eliminar cuando lo esta mostrando en el navegador dentro de mi aplicación. He probado a hacer dispose, eliminar el control al cerrar y nada parece funcionar. Me dice que esta siendo usado por otro proceso y no lo elimina.

Os dejo el código por si me podeis echar una mano, Gracias!!

//Muestra el archivo pdf en el navegador
VisorPDF.Navigate("file://" + sRutaFichero);


//Cuando cierro la aplicación borro los archivos pdf almacenados
if (File.Exists(sRutaFichero))
{
File.Delete(sRutaFichero);
}

Etiquetas: borrar, fichero
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 19:30.