Hola Gustavo:
Te paso un ejemplo que me está funcionando.
Code: Select all | Expand
IF !ConectaServerFTP("miservidorftp","miusuario","mipassword",@oFtp)
MsgStop("No pudo subir archivo")
ENDIF
SubeArchivoFtp(cArchivoOrigen,"carpetaftp/archivoDestino.pdf",oFtp)
*****************************************
*** Conectar al servidor FTP
FUNCTION ConectaServerFTP(cNomSer,cNomUsr,cClaUsr,oFtp)
LOCAL cServer, cUser, cPassword, oUrl, cUrl
cServer := cNomSer //change ftpserver to the real name or ip of your ftp server
cUser := cNomUsr // change ftpuser to an valid user on ftpserer
cPassword := cClaUsr // change ftppass to an valid password for ftpuser
cUrl := "ftp://" + cUser + ":" + cPassword + "@" + cServer
cUser:= strtran(cUser,"@","&at;")
oUrl := tUrl():New( cUrl )
IF At( "@", cUser ) > 0
oUrl:cUserID := strtran(cUser,"&at;","@")
oUrl:cPassword := cPassword
ENDIF
oFTP := tIPClientFtp():New( oUrl, .T. )
oFTP:nConnTimeout := 20000
oFTP:bUsePasv := .T.
oFtp:bTrace := {|| .t.}
oFTP:Open( )
IF oFtp <> NIL
RETURN .T.
ENDIF
RETURN .F.
FUNCTION SubeArchivoFtp(cFileOri,cFileDes,oFtp)
oFtp:Dele( cFileDes )
oFtp:UpLoadFile( cFileOri, cFileDes )
RETURN .T.
Estas son las librerias de Harbour y de Borland que incluyo
Code: Select all | Expand
echo %hdir%\lib\hbwin.lib + >> b32.bc
echo %hdir%\lib\hbrtl.lib + >> b32.bc
echo %hdir%\lib\xhb.lib + >> b32.bc
echo %hdir%\lib\hbvm.lib + >> b32.bc
echo %hdir%\lib\gtgui.lib + >> b32.bc
echo %hdir%\lib\gtstd.lib + >> b32.bc
echo %hdir%\lib\hblang.lib + >> b32.bc
echo %hdir%\lib\hbmacro.lib + >> b32.bc
echo %hdir%\lib\hbrdd.lib + >> b32.bc
echo %hdir%\lib\rddntx.lib + >> b32.bc
echo %hdir%\lib\rddcdx.lib + >> b32.bc
echo %hdir%\lib\rddfpt.lib + >> b32.bc
echo %hdir%\lib\hbsix.lib + >> b32.bc
echo %hdir%\lib\hbdebug.lib + >> b32.bc
echo %hdir%\lib\hbcommon.lib + >> b32.bc
echo %hdir%\lib\hbpp.lib + >> b32.bc
echo %hdir%\lib\hbusrrdd.lib + >> b32.bc
echo %hdir%\lib\hbwin.lib + >> b32.bc
echo %hdir%\lib\hbcplr.lib + >> b32.bc
echo %hdir%\lib\hbct.lib + >> b32.bc
echo %hdir%\lib\hbcpage.lib + >> b32.bc
echo %hdir%\lib\hbhsx.lib + >> b32.bc
echo %hdir%\lib\hbmisc.lib + >> b32.bc
echo %hdir%\lib\hbmzip.lib + >> b32.bc
echo %hdir%\lib\hbnf.lib + >> b32.bc
echo %hdir%\lib\hbpcre.lib + >> b32.bc
echo %hdir%\lib\hbtip.lib + >> b32.bc
echo %hdir%\lib\hbziparc.lib + >> b32.bc
echo %hdir%\lib\hbmzip.lib + >> b32.bc
echo %hdir%\lib\hbzlib.lib + >> b32.bc
echo %hdir%\lib\minizip.lib + >> b32.bc
echo %hdir%\lib\png.lib + >> b32.bc
echo %hdir%\lib\hbusrrdd.lib + >> b32.bc
echo %hdir%\lib\hbtip.lib + >> b32.bc
rem Uncomment these two lines to use Advantage RDD
rem echo %hdir%\lib\rddads.lib + >> b32.bc
rem echo %hdir%\lib\Ace32.lib + >> b32.bc
echo %bcdir%\lib\cw32.lib + >> b32.bc
echo %bcdir%\lib\uuid.lib + >> b32.bc
echo %bcdir%\lib\import32.lib + >> b32.bc
echo %bcdir%\lib\ws2_32.lib + >> b32.bc
echo %bcdir%\lib\psdk\odbc32.lib + >> b32.bc
echo %bcdir%\lib\psdk\nddeapi.lib + >> b32.bc
echo %bcdir%\lib\psdk\iphlpapi.lib + >> b32.bc
echo %bcdir%\lib\psdk\msimg32.lib + >> b32.bc
echo %bcdir%\lib\psdk\psapi.lib + >> b32.bc
echo %bcdir%\lib\psdk\rasapi32.lib + >> b32.bc
echo %bcdir%\lib\psdk\gdiplus.lib + >> b32.bc
echo %bcdir%\lib\psdk\urlmon.lib + >> b32.bc
echo %bcdir%\lib\psdk\shell32.lib, >> b32.bc
Espero te sirva