atualizacao do sistema atraves de um servidor FTP estava quase no final do
projeto, acontece q agora estah travando na seguinte linha:
oFtp:= tipclient():NEW(oUrl,,.T.)
Sem qualquer explicacao, eu faco o acesso ao ftp pelo prompt mas quando
executo o sistema o mesmo trava sem qualquer mensagem, o servidor n recebe
nenhuma informacao sobre logon. Seria algum problema de ver xhb estou usando
a 0.99.70 com hwgui 2.16
Marcos Roberto.
Codigo completo abaixo (colaboracao do Leonardo):
Código: Selecionar todos
**********************************************
Function Donwload_File(ftpdir,ftpfile,fdestino)
**********************************************
Private vBaixa:="N"
Private ftpproto :="ftp://"
Private ftpserver := vSERVER_FTP
Private ftpuser := vUSUARIO_FTP
Private ftppass := vPASSWORD_FTP
if Os_IsWinNT()
ShowNotifyInfo(oMainWindow:handle ,.T., "AAA AAA " , NIL,"Conectando com o servidor "+FTPSERVER+". Usuario: "+Alltrim(ftpuser),"Conectando com o servidor")
endif
//MsgRun("Conectando com o servidor "+FTPSERVER+". Usuario: "+Alltrim(ftpuser)+" Senha: "+vPassword_FTP)
curl:=ftpproto+ftpuser+":"+ftppass+"@"+ftpserver
oUrl:= turl():new(curl)
oCred:= tIPCredentials()
//oFtp:= tipclientftp():NEW(oUrl,,.T.) // xhb 1.0.0
oFtp:= tipclient():NEW(oUrl,,.T.) //xhb 0.99.70 TRAVA BEM AQUI
oFTP:nConnTimeout := 20000
oFTP:bUsePasv := .T.
IF oFTP:Open()
//Hw_Atualiza_Dialogo("Conexao estabelecida. Verificando Atualizacoes disponiveis.")
oFTP:Cwd(ftpdir) // muda o diretorio
IF !empty(clista:=oFTP:List())
vBaixa="S"
cTamanho:=FileSize(ftpFile)
//Fim_Run()
Inicia_Progress(fDestino,cTamanho,ftpfile)
//MsgRun("Foi feito download do "+ftpFile+". O NST ira fechar o sistema para atualizar em 1 minuto",5000)
IF Alltrim(ftpfile)=Alltrim(vRetaguarda)
vUPDATERetaguarda:=.T.
oFTP:Dele(vRetaguarda)
Else
vUPDATERetaguarda:=.F.
Endif
IF Alltrim(ftpfile)=Alltrim(vPDV)
vUPDATEPdv:=.T.
oFTP:Dele(vPDV)
Else
vUPDATEPdv:=.F.
Endif
ENDIF
oFTP:CLOSE()
Else
//Fim_Run()
cStr := "Não foi possível Conectar com o Servidor FTP: "
IF oFTP:SocketCon == NIL
cStr += "Conexão Não Inicializada"
ELSEIF InetErrorCode( oFTP:SocketCon ) == 0
cStr += "Resposta do Servidor:" + " " + oFTP:cReply
ELSE
cStr += "Erro na Conexão:" + " " + InetErrorDesc( oFTP:SocketCon )
ENDIF
MsgInfo(cStr,"Erro no FTP")
ENDIF
Return


