Ver Mensaje Individual
  #3  
Antiguo 27-01-2006
Avatar de Jonnathan
Jonnathan Jonnathan is offline
Miembro
 
Registrado: may 2005
Ubicación: Isla de Margarita, Venezuela
Posts: 64
Reputación: 19
Jonnathan Va por buen camino
Ese es un tema delicado y te tengo malas noticias . Estuve echando un vistazo al código de la VCL de ese control, especificamente la función "PopulateNode" que busca dentro de las carpetas su contenido. Adentro de esa función se hace una llamada a una función de una librería del sistema operativo para obtener los elementos dentro de una carpeta (en este caso recursos de red). No veo manera de darle prioridad a otros eventos de la aplicación mientras se está esperando que lleguen los datos de esa función, es un problema que pasa tambien a veces con el Explorador de Windows que se "congela" al acceder a alguna carpeta de red (En Windows XP creo que estás más optimizado).

En conclusión, creo que lo único que podrías hacer sería listar los recursos de red con alguna función hecha por tí y optimizada con Application.ProcessMessages(), y no usar el componente TShellTreeView si quieres resolver ese asunto.
Puedes buscar una función que te liste recursos de red en este foro o preguntar a ver quien sabe alguna. Otra opción que se me ocurrio a última hora es hacer alguna aplicación multihilos (Threads), donde un hilo se encargue de actualizar los nodos del TShellTreeView y otro hilo se encarga de responder a otros eventos de la aplicación pero hasta ahi no llegan mis conocimientos "delphi compotica", a ver si alguno de los expertos de este foro tiene alguna idea.
__________________
"En el siglo de la estupidez todas las casas comienzan por la fachada" (Fuckowsky)
Planeta Insólito, La Pluma Inspirada
Responder Con Cita