SOS! Cuelgues con transferencias FTP!

05/01/2005 - 16:26 por Alicia | Informe spam
Hola,
tengo una aplicacion que se conecta vía ftp con un servidor para bajar un
archivo. Todo funciona bien excepto cuando quiero poner un botón por si el
usuario quiere cancelar a medio la transferencia.
En ese caso llamo al método cancelar del componente ftp y el programa se
cuelga automáticamente.

Ya he probado con dos componentes de ftp gratuitos que he encontrado por
internet y con los dos me pasa lo mismo... osea que creo que el problema soy
yo que no lo estoy programando bien...

En la ayuda del último componente pone que al cancelar la transferencia se
haga en un thread diferente porque el principal está colgado haciendo el get
del archivo. El caso es que lo haga como lo haga se cuelga.

¿Alguna sugerencia o ejemplo?

Aquí hay un trozito de código de cuando pulso el botón cancelar:

Private cancelarT As Thread
cancelarT = New Thread(New ThreadStart(AddressOf modmain.Cancelar))
cancelarT.Start()

Private Sub Cancelar()
ftp.CancelTransfer()
End Sub


Saludos!
 

Leer las respuestas

#1 news.microsoft.com
05/01/2005 - 21:10 | Informe spam
Hola,

Mira, no expones mucho el codigo que usas, pero me parece que tendrias que
tener en un thread un loop, y dentro de este controlar el get por ftp,
de este loop saldrias solo si se pulsa cancelar o si termino la descarga,
agregas al loop un do events y preguntas si termino la descarga o se
presiono cancel.
Para el caso de se haya presionado cancel, simplemente cortas el hilo de
conexion, no el download, capturas el evento que te da el fin de conexion y
ahi seteas la variable que sale del loop. Para el caso en que termine la
descarga es igual, solo que no cortas nada y en el evento seteas la
variable.

Al no conocer el codigo que usas para la conexion ftp no puedo saber que es
lo que hace al llamar el evento ftp.canceltransfer, por eso no te escribo el
codigo.

Espero haberte ayudado.

Roberto

"Alicia" escribió en el mensaje
news:%
Hola,
tengo una aplicacion que se conecta vía ftp con un servidor para bajar un
archivo. Todo funciona bien excepto cuando quiero poner un botón por si el
usuario quiere cancelar a medio la transferencia.
En ese caso llamo al método cancelar del componente ftp y el programa se
cuelga automáticamente.

Ya he probado con dos componentes de ftp gratuitos que he encontrado por
internet y con los dos me pasa lo mismo... osea que creo que el problema


soy
yo que no lo estoy programando bien...

En la ayuda del último componente pone que al cancelar la transferencia se
haga en un thread diferente porque el principal está colgado haciendo el


get
del archivo. El caso es que lo haga como lo haga se cuelga.

¿Alguna sugerencia o ejemplo?

Aquí hay un trozito de código de cuando pulso el botón cancelar:

Private cancelarT As Thread
cancelarT = New Thread(New ThreadStart(AddressOf modmain.Cancelar))
cancelarT.Start()

Private Sub Cancelar()
ftp.CancelTransfer()
End Sub


Saludos!


Preguntas similares