Problema con oFile:End() en comandos FTP

Problema con oFile:End() en comandos FTP

Postby carlosortiz » Thu Jul 27, 2006 1:54 pm

Utilizo la clase que viene con fivewin version 2.1a, todo bien excepto para archivos de mas de 500 KB, se cuelga al no poder ejecutar oFile:end() y tengo que cerrar la aplicacion con Ctrl+Alt+Supr.
El archivo es un .Zip de 800K y baja bien, esta sano y entero, pero el programa se cuelga.

Que podrá ser, gracias.

//--------------------------------------------------------------------
static func GetFiles( aSource, aTarget, nBufSize, oSay1, oSay2, oMeter1, oSay3, oMeter2, lEnd, oDlg, oFTP )
//--------------------------------------------------------------------
local n, hTarget, cBuffer := Space( nBufSize ), nBytes, nFile := 0, nTotal := 0, nTotSize := 0
local oFile, aFiles, aSizes := {}

for n = 1 to Len( aSource )
aFiles = oFTP:Directory( aSource[ n ] )
if Len( aFiles ) > 0
AAdd( aSizes, aFiles[ 1 ][ 2 ] )
nTotSize += ATail( aSizes )
else
AAdd( aSizes, 0 )
endif
SysRefresh()
next

nTotSize:=round(nTotSize,0)
oMeter2:nTotal = nTotSize

for n = 1 to Len( aSource )
hTarget = FCreate( aTarget[ n ] )
oFile = TFtpFile():New( aSource[ n ], oFTP )
oFile:OpenRead()

oSay1:SetText( "Origen: " + aSource[ n ] )
oSay2:SetText( "Destino: " + aTarget[ n ] )
oMeter1:Set( 0 )
oMeter1:nTotal = aSizes[ n ]
nFile := 0
SysRefresh()
do while (nBytes:=Len(cBuffer:=oFile:Read(nBufSize)))>0.and.!lEnd
FWrite( hTarget, cBuffer, nBytes )
oSay3:SetText( "Bytes copiados: " + AllTrim(Str(nTotal += nBytes)) )
oMeter1:Set( nFile += nBytes )
oMeter2:Set( nTotal )
SysRefresh()
enddo
commit
FClose( hTarget )
// ACA se cuelga el maldito
oFile:End()
next
return nil
carlosortiz
 
Posts: 39
Joined: Wed Mar 22, 2006 12:53 pm
Location: Córdoba // Argentina

Postby Antonio Linares » Thu Jul 27, 2006 6:38 pm

Carlos,

Has revisado/probado samples\gallery\icopyfil\icopyfil.prg ?
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Antonio Linares
Site Admin
 
Posts: 42099
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain

Postby carlosortiz » Thu Jul 27, 2006 8:42 pm

Si de echo la copie y es la que estoy utilizando.
De todas maneras gracias por tu atención.

Hace un rato abri unos ftps en otros servidores, uno en yahoo geocities y otro en lycos.es y vos sabes que en esos no da problemas, tanto icopyfile como la qftp que baje del cd2003 andan perfectamente.
Por lo que he averiguado los tres son servidores windows, estan con PASSIVE MODE y soportan ASCII y BINARY transferencias por ende no s que mas pensar del ftp de la empresa DATTATEC.

Otro tema Antonio, mi socio ha adquirido (se lo regalo el padre que andaba de vacaciones) fwh 2.algo no se bien por que no lo he visto ni a el ni lo que trajo; me parece que ya no tengo excusa para pasarme a harbour, por ahi vi el conector MEDIATOR que soporta PostGress y viene una lib/rdd para compilar Clipper DOS y Harbour, si lo conoces te pido hagas algun comentario o recomendacion.

Gracias.
carlosortiz
 
Posts: 39
Joined: Wed Mar 22, 2006 12:53 pm
Location: Córdoba // Argentina

Tema resuelto

Postby carlosortiz » Mon Jul 31, 2006 4:23 am

He leido en detalle qftp y me di con la sorpresa de que algunos servidores Windows informan en otra posicion el tamaño del archivo a descargar (usando socket de un ejemplo que baje por ahi), cambiando esa busqueda del valor anda de primera.

Salu2.
Qftp esta muy buena, quizas hay una version actualizada seguire buscando pero por lo menos ya me funcione de primera el Ftp.

Atte. Carlos Ortiz.
carlosortiz
 
Posts: 39
Joined: Wed Mar 22, 2006 12:53 pm
Location: Córdoba // Argentina

Postby Antonio Linares » Mon Jul 31, 2006 6:51 am

Carlos,

Nosotros no hemos probado mediator, pero por lo que tenemos entendido, funciona bien.
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Antonio Linares
Site Admin
 
Posts: 42099
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain


Return to FiveWin para CA-Clipper

Who is online

Users browsing this forum: No registered users and 36 guests