Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   OOP (https://www.clubdelphi.com/foros/forumdisplay.php?f=5)
-   -   Shelltreeview - Autorefresh - problema (https://www.clubdelphi.com/foros/showthread.php?t=41539)

modulay 18-03-2007 17:36:42

Shelltreeview - Autorefresh - problema
 
Hola hola.
Estoy teniendo un problema que no se si tendrá solución,yo al menos no he conseguido arreglarlo después de haber intentado diversas formas.
La cuestión es que tengo un formulario con un shelltreeview para seleccionar un directorio donde se almacenarán unos ficheros de la aplicación.El problema está en que si selecciono una carpeta desde el treeview(sin cerrar el form que lo contiene) y acto seguido elimino la carpeta desde el explorador de windows,el invento revienta por todos lados.Me tira los errores que se ven en la imagen,en el orden de arriba hacia abajo.Se que es retorcerle mucho la oreja a la aplicación,pero me gustaría poder hacerla inmune a este tipo de cosas.
Sólo pasa si la propiedad autorefresh del control está activada,pero claro,si la desactivo no actualiza en tiempo real y necesito que lo haga.
¿alguna idea?

http://ciberia.ya.com/Modulay/img/errores.JPG

basti 18-03-2007 18:34:23

Puedes cambiar el directorio cuando se pulsa en la carpeta, con chdir por ejemplo, entonces windows bloqueará la carpeta y no se podrá borrar.

Si no puedes cambiar el directorio, porque tu aplicación no funcionaría, puedes crear un archivo dentro de esa carpeta y mantenerlo abierto, luego lo cierras cuando ya no te haga falta.

modulay 18-03-2007 20:07:57

chdir lo que hace es establecer el directorio raíz de mi aplicación ¿no?
He hecho una pruebecilla y efectivamente windows ya no lo borra,pero quisiera que alguien me confirmara si lo que he dicho es correcto para saber por donde ando.
Gracias por la ayuda

basti 18-03-2007 21:30:11

Con ChDir cambias el directorio de trabajo de tu aplicación, por eso te decía que podría darte problemas en otra parte de la aplicación en la que trabajes con directorios. Lo mejor, si cambias el directorio, es usar rutas absolutas en el resto del programa.

modulay 19-03-2007 11:35:37

Ok.
Gracias


La franja horaria es GMT +2. Ahora son las 14:00:34.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi