PDA

Ver la Versión Completa : detener un hilo


gesjug
06-10-2008, 17:11:46
Veran, estoy haciendo un programa para descargar archivos por ftp.
El codigo para descargar el archivo elegido lo tengo en un thread para que no me bloquee la aplicacion. Todo bien.
El problema es que le he puesto un boton para detener la bajada.
Aqui viene el problema. No logro detener el hilo.
Si pongo en el boton, hilo.terminate, la aplicacion se bloquea.
He probado a poner primero hilo.suspend y luego hilo.terminate, parece que se para pero si acto seguido intento bajar otro archivo me da error porque el ftp esta detenido en el thread.
Como detengo un thread definitivamente? de manera que sea como si no hubiera empezado a ejecutarse?

Un saludo

elcolo83
06-10-2008, 20:20:50
No se bien que componente estes usando para la descarga... pero me parece que antes de detener el Thread deberias parar el componente que hace la descarga y luego si el therad...

gesjug
07-10-2008, 15:22:26
uso los Indy.
He probado a hacer antes del hilo.suspend, un indyftp.Abort, que se supone que detiene la subida sin desconectarme, pero me salta un error de que ha sido desconectado.

elcolo83
07-10-2008, 20:16:01
antes de parar el hilo intenta hacer indyftp.Disconnect; y luego si detiene el hilo... eso deberia solucionarlo creo

gesjug
08-10-2008, 08:09:24
El problema es que yo no queria desconectar, porque si luego quieren subir otra cosa tengo que volver a conectar y es mas lento. Yo simplemente quiero parar la subida y el hilo. :(