Tengo un m贸dulo de actualizaciones via FTP, puedo revisar los archivos actualizados, bajarlos y remplazar los archivos ant铆guos, pero quise implementar un boton para detener la descarga de archivos y cancelar el proceso antes de que 1 o todos los archivos se descarguen, si los archivos se descargan completamente se deshabilita el boton para evitar el proceso.

Trabajo con la Clase ServicesFTP de Jose Javier LLoris Roig, la cual hereda los methods de la Clase TFTP de Habour.
Mi idea es mediante una variable l贸gica si es .T. la descarga continua, si pulso el boton Cancelar la Variable torna a .F. y se cierra el Dialogo.
REDEFINE BUTTONBMP 聽oBtn 聽ID 500 OF oDlg TEXTRIGHT BITMAP 聽 "CANCELAR" 聽ACTION (lDown:= .F., lFinDlg:= .T., oDlg:END())Y para mostrar el vance de la desgarga:
oFtp:oFtp:exGauge := ( @FtpProgress() )
聽 聽 聽 聽 聽 oFtp:oFtp:DownLoadFile( cDestino + "\" + cFile, cFile )La Funci贸n que muestra el progreso de la descarga de los archivos y en la cual interrumpo el procesoa con la variable:
//-----------------------------------------------------------------------------------------------------------------//
STATIC FUNCTION FtpProgress(nSent, nTotal)
LOCAL cProgress := INT( 100*nSent/nTotal )
LOCAL nPos:= 0
IF lDown == .T.
聽 聽oProg:SETPOS(cProgress)
聽 聽oProg:Refresh()
聽 聽oSayP:SetText("Descargando "+cFile+" --> "+STR(nSent)+" 聽 聽 聽 聽Progreso: "+ALLTRIM(STR(cProgress)) +" % ")
聽 聽oSayP:Refresh()
聽 聽IF cProgress == 1
聽 聽 聽 nPos:= nPos + 1
聽 聽ENDIF
聽 聽oBrw:SETPOS(nPos)
聽 聽oBrw:Refresh()
聽 聽SysRefresh()
ELSEIF lDown == .F.
聽 oFTP:CLOSE() 聽 聽 聽 //-----Aki el fallo
聽 聽DeleteObject( oFTP )
ENDIF
RETURN NilSl cancelar el proceso el Dialogo de Cierra y muestra este error:
Time from start: 0 hours 0 mins 12 secs
Error occurred at: 21-10-2013, 10:54:23
Error description: Error BASE/3012 Error de argumento: HB_INETERRORCODE
Args:
[ 1] = U
Stack Calls
===========
Called from: => HB_INETERRORCODE( 0 )
Called from: hbtip\client.prg => TIPCLIENTFTP:INETERRORCODE( 0 )
Called from: hbtip\client.prg => TIPCLIENTFTP:READTOFILE( 0 )
Called from: hbtip\ftpcli.prg => TIPCLIENTFTP:DOWNLOADFILE( 0 )
Called from: Update.prg => DOWNFILS( 271 )
Como puedo parar la conexi贸n al FTP sin que provoque error, ya que despup茅s del error el archivo continua descargandose de forma escondida... Talv茅z la soluci贸n sea sencilla pero no doy como..
Ojala puedan darme una ayudadita.. Gracias..
Damos Soluciones...
I.S.C. Victor Daniel Cuatecatl Leon
Director y Dise帽ador de Proyectos
http://www.soldisoft.unlugar.com
http://www.sisa.unlugar.com
danyleon82@hotmail.com
www.facebook.com/victordaniel.cuatecatlleon