Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 26-01-2006
[fer21unmsm] fer21unmsm is offline
Miembro Premium
 
Registrado: dic 2005
Ubicación: Lima
Posts: 627
Poder: 19
fer21unmsm Va por buen camino
Question acerca del componente TShellTreeView

Hola a todos los miembros de este foro, mi duda es la siguiente, bueno primero que todo utilizo el componente TShellTreeView para poder accesar a recursos de red, ahora aqui la duda, cuando quiero accesar a un recurso de red hay veces que se demora demasiado como si se hubiera colgado, como puedo hacer para que el usuario pueda seguir trabajando sin que se congele la aplicación, he utilizado application.processmessages.

¿Que puedo hacer?.

Saludos, y gracias de antemano
Responder Con Cita
  #2  
Antiguo 27-01-2006
[fer21unmsm] fer21unmsm is offline
Miembro Premium
 
Registrado: dic 2005
Ubicación: Lima
Posts: 627
Poder: 19
fer21unmsm Va por buen camino
Cita:
Empezado por fer21unmsm
Hola a todos los miembros de este foro, mi duda es la siguiente, bueno primero que todo utilizo el componente TShellTreeView para poder accesar a recursos de red, ahora aqui la duda, cuando quiero accesar a un recurso de red hay veces que se demora demasiado como si se hubiera colgado, como puedo hacer para que el usuario pueda seguir trabajando sin que se congele la aplicación, he utilizado application.processmessages.

¿Que puedo hacer?.

Saludos, y gracias de antemano
Alguna sugerencia?
Responder Con Cita
  #3  
Antiguo 27-01-2006
Avatar de Jonnathan
Jonnathan Jonnathan is offline
Miembro
 
Registrado: may 2005
Ubicación: Isla de Margarita, Venezuela
Posts: 64
Poder: 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
  #4  
Antiguo 27-01-2006
Avatar de lucasarts_18
lucasarts_18 lucasarts_18 is offline
Miembro
 
Registrado: mar 2005
Ubicación: Villa Alemana,Chile
Posts: 1.087
Poder: 21
lucasarts_18 Va por buen camino
Hola:

¿ Qué tal si pruebas con los componentes TurboPower ShellShock?, son realmente buenos y mejor implementados que los que trae el propio delphi, de hecho esos componentes siempres lo dejaron para el final, es decir no están optimizados y recuerdo haber encontrados algunos errores (delphi 6), por esta razón llegué a probar los componentes mencionados mas arriba y efectivamente están bastante buenos.

Este es el enlace

Hasta Luego -
__________________
No todo es como parece ser...
Responder Con Cita
  #5  
Antiguo 27-01-2006
[fer21unmsm] fer21unmsm is offline
Miembro Premium
 
Registrado: dic 2005
Ubicación: Lima
Posts: 627
Poder: 19
fer21unmsm Va por buen camino
Cita:
Empezado por lucasarts_18
Hola:

¿ Qué tal si pruebas con los componentes TurboPower ShellShock?, son realmente buenos y mejor implementados que los que trae el propio delphi, de hecho esos componentes siempres lo dejaron para el final, es decir no están optimizados y recuerdo haber encontrados algunos errores (delphi 6), por esta razón llegué a probar los componentes mencionados mas arriba y efectivamente están bastante buenos.

Este es el enlace

Hasta Luego -
Hola lucasarts, ya baje el componente turbopower shellshock he probado el StShellTreeView, pero al momento de accesar a un pc de la red se queda congelado, quisiera poder hacer que el usuario en ese caso pueda cerrar o cancelar la ventana, pero no me lo permite.

Vi una opción expandinterval y supuse que ese podría poner un tiempo limite pero no es así.

O tal vez este manejando mal el componente. No he puesto codigo sólo he puesto el componente ejecute una aplicacion de ejemplo, pero se congela cuando se quiere accesar a un grupo de trabajo, y como comente antes quisiera poder cancelar o cerrar la ventana cuando el usuario lo desee.

¡Alguna recomendación que podría hacer?

Saludos y gracias de antemano.
Responder Con Cita
  #6  
Antiguo 28-01-2006
Avatar de lucasarts_18
lucasarts_18 lucasarts_18 is offline
Miembro
 
Registrado: mar 2005
Ubicación: Villa Alemana,Chile
Posts: 1.087
Poder: 21
lucasarts_18 Va por buen camino
Hola:

Si mal no recuerdo, esos componentes tienen una buena documentación, quizás allí podrías encontrar algo que te sirva, debo decir que esos componentes no lo usé con el mismo proposito que llevas tú.
Me gustaría ayudarte, pero en casa no dispongo de una red (por lo menos de dos PC ), ahora si haces lo mismo pero de windows ¿también se congela?, quizás sea otro el problema.
Veamos si alguien tiene mas conocimiento sobre esto y así podemos aprender todos

Hasta Luego y suerte (aunque luego de leer un debate en este mismo foro sobre el significado de esta palabra en programación, no sé si usarla en este contexto, jejee )
__________________
No todo es como parece ser...
Responder Con Cita
  #7  
Antiguo 28-01-2006
[fer21unmsm] fer21unmsm is offline
Miembro Premium
 
Registrado: dic 2005
Ubicación: Lima
Posts: 627
Poder: 19
fer21unmsm Va por buen camino
Cita:
Empezado por lucasarts_18
Hola:

Si mal no recuerdo, esos componentes tienen una buena documentación, quizás allí podrías encontrar algo que te sirva, debo decir que esos componentes no lo usé con el mismo proposito que llevas tú.
Me gustaría ayudarte, pero en casa no dispongo de una red (por lo menos de dos PC ), ahora si haces lo mismo pero de windows ¿también se congela?, quizás sea otro el problema.
Veamos si alguien tiene mas conocimiento sobre esto y así podemos aprender todos

Hasta Luego y suerte (aunque luego de leer un debate en este mismo foro sobre el significado de esta palabra en programación, no sé si usarla en este contexto, jejee )
Hola lucasarts_18, primero que todo gracias a los dos por los aportes que me han brindado realmente a sido de mucha ayuda para encontrar la siguiente solución.

Lo que hice fue utilizar el componente TShellTreeView, pero metiendo en un hilo el metodo expand, para llamarlo desde ahí y poder controlarlo, luego lo probé y todo chevere salio bien.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Creando componente visual piccolo2101 Varios 4 25-01-2006 14:13:45
acerca del componente DBDateEdit eperezd SQL 1 13-05-2005 03:39:29
Componente para soporte Multilenguage en Delphi 2005 Holderhek OOP 2 16-03-2005 15:46:00
Una clase como propiedad de un componente? setry2 OOP 3 30-12-2003 21:30:58
Ayuda con nuevo componente mosorio OOP 2 14-07-2003 13:33:09


La franja horaria es GMT +2. Ahora son las 01:20:15.


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
Copyright 1996-2007 Club Delphi