Hi Daniel,
> Problema resuelto.
Good!
I suppose one sees what one expects to se, so before Hurricane jumped in
I had read it as "
ftp.miservidor.com" :-)
Before we close this, let me suggest a couple of other things:
// cServer := "
ftp.miservidor.com" // Skip this
// oUrl:cAddress := "
ftp.miservidor.com" // Skip this
oUrl:cServer := "
ftp.miservidor.com"
oUrl:cUserID := cUser
oUrl:cPassword := cPass
oUrl:cProto := "ftp"
oUrl:nPort := 21
oFtp := TIPClientFTP():New( oUrl, .T. )
oFtp:nConnTimeout := 20000
oFtp:bUsePasv := .T.
if oFtp:Open() // Skip the argument, tUrl has it already
... and so on
When using oUrl:cAddress the tUrl class will want to split the cAddress
string into oUrl:cServer, oUrl:cUserID and oUrl:cPassword. But you
already provide those one by one, which is much safer given that the
parser in tUrl is not entirely adequate.
The same thing will happen again if you provide cServer with your
oFtp:Open() call. But the tUrl class already knows which server to open,
so leave oFtp:Open() with no arguments.
Regards,
Klas