Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Delphi - FTP - Progress Circular (https://www.clubdelphi.com/foros/showthread.php?t=64949)

SyncReuter 11-11-2009 04:56:28

Delphi - FTP - Progress Circular
 
Hola a todos,

Tengo un proyecto hecho en delphi 2005 y un componente que realiza una animacion circular, el componente funciona a la perfección, el cual utilizo como elemento de "espera" para que el usuario sepa que esta todo funcionando, pero cuando me conecto via ftp al servidor OpenBSD para descargar unos archivos, la animación deja de funcionar y continua funcionando cuando se termina la coneccion ftp, la verdad de las cosas es que lo e intentado todo (Refresh, invalidate, repaint, etc etc etc) y me doy cuenta que el problema esta cuando establesco la conexión con el servidor, ¿Existe alguna forma de evitar que la conexión detenta por unos segundos mi aplicacion?

Gracias, Saludos desde Chile!

maeyanes 11-11-2009 05:21:40

Hola...

Algo que podrías hacer es hacer la animación en un hilo (thread) diferente o en su caso, la conexión...


Saludos...

SyncReuter 11-11-2009 05:45:20

Hola, maeyanes Gracias,

Estoy revisando la clase Thread y la vez buscando algun tipo de ejemplo con tio google que me pudiera indicar mas o menos el camino a seguir, ahora bien, ¿Tendras algun link de referencia al respecto o una linea de codigo de ejemplo en donde pudiese lanzar el componente con un hilo aparte de la aplicación?

Gracias!!!

roman 11-11-2009 15:51:47

¿Qué componentes usas para la conexión? Porque si son los Indy, ellos traen el IdAntiFreeze que sirve para descongelar la interfaz en lo que se realiza la petición.

Por otra parte, los mismos componentes proporcionan eventos para informar del progreso y es ahí donde uno puede actualizar elementos como barras de progreso.

// Saludos

SyncReuter 11-11-2009 17:26:54

Hola roman,


Lo que pasa es que la conexión con el servidor OpenBSD de hace via ftp secure (ssh ftp, indy no viene incluido) y el componente es circular, es algo asi como poner una animación cualquiera que indique que se esta realizando el trabajo de conexión con el server y las respectivas descargas, en este caso no necesitamos saber el tamaño de los archivos para calcular el progreso. Las descargas no duran mas de 3 segundos, se trata de archivos de configuración del sistema operativo (OpenBSD) no pensan mas alla de un par de kilitos. En este momento estoy investigando todo sobre thread pero aun no encuentro un ejemplo concreto para tomarlo como guia, la idea mia en este momento (no se si voy bien) es lanzar la animación con un hilo totalmente aparte, ahora bien, ¿Como puedo lanzar el componente (el cual pego en la FORM) y se ejecute sobre un hilo distinto?

Saludos


La franja horaria es GMT +2. Ahora son las 00:18:10.

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