Visual Basic Foro

Programación => Visual Basic 6 => Mensaje iniciado por: erbuson en Marzo 05, 2011, 06:35:07 am

Título: Borrar archivo utilizado en WebBrowser
Publicado por: erbuson en Marzo 05, 2011, 06:35:07 am
Hola, tengo un proyecto que debe enviar unos archivos pdf por correo electronico, el problema es que los archivos PDF tienen un nombre secuencial 1,2,3, ... y para poder enviarlos a quien corresponda debo visualizarlos previamente.

La idea es que en un ListBox con CheckBox he creado un Dir de los archivos para que el usuario pueda seleccionar los que desea enviar.

En el momento de Seleccionar uno de ellos, se me ocurrio la gran idea de utilizar un WebBrowser para visualizarlo y el tema funciona a la perfección. Los selecciona, selecciona el destinatario y con una MAPISession y un MAPIMessages los mando y listos.

El problema es que una vez enviados quisiera borrarlos pero el último que he marcado aparece en el WebBrowser y me lo da como protegido con lo que no me lo deja borrar. He probado de utilizar .Navigate "about:blank" antes de borrar los archivos para ver si me lo libera pero no es así.

He intentado en vez del about:blank cargar una pantalla temporal pero tampoco me libera el archivo. En cambio si tengo por ejemplo dos archivos marcados como obviamente sólo me puede visualizar el segundo que he marcado, si me borra el primero sin problemas.

Haciendo pruebas, he intentado además hacer una "chapuza" y creo que es cuestion de tiempo de proceso, ya que he creado un PDF auxiliar que cargo antes de proceder al borrado, pensando que esto liberará el anterior.

Si lo hago de esta manera:

Browser.Navigate "Temporal.pdf"
DoEvents
Kill MiArchivo

Se produce el error de archivo protegido, pero sin embargo si tengo dos botones uno para cargar "Temporal.pdf" y otra para Borrar una vez cargado temporal.pdf funciona, por esto creo que es cuestión de tiempo de proceso de Windows, tal vez deberia poner una pausa después del DoEvents

Por otra parte, tambien funciona si hago algo así:
Browser.Navigate "Temporal.pdf"
MsgBox "Pausa de Borrado"
Kill MiArchivo

Pero quisiera no tener que hacer esta pausa.

Gracias
Título: Re:Borrar archivo utilizado en WebBrowser
Publicado por: erbuson en Marzo 05, 2011, 11:21:02 am
Bueno, al final buscando buscando he decidido usar el AcroPDF que viene con el Reader gratuido de ADOBE y no me provoca el problema, creo además que es mas adecuado y profesional.

Saludos