ActiveDelphi - Índice do Fórum ActiveDelphi
.: O site do programador Delphi! :.
 
 FAQFAQ   PesquisarPesquisar   MembrosMembros   GruposGrupos   RegistrarRegistrar 
 PerfilPerfil   Entrar e ver Mensagens ParticularesEntrar e ver Mensagens Particulares   EntrarEntrar 

TIdFTP

 
Novo Tópico   Responder Mensagem    ActiveDelphi - Índice do Fórum -> Delphi
Exibir mensagem anterior :: Exibir próxima mensagem  
Autor Mensagem
shawdown
Profissional
Profissional


Registrado: Segunda-Feira, 1 de Outubro de 2007
Mensagens: 546
Localização: Goiania-GO

MensagemEnviada: Qui Jun 26, 2008 4:52 pm    Assunto: TIdFTP Responder com Citação

Boa Tarde pessoal...
Estou usando o componente TIdFTP para conectar a servidores FTP e criar Pasta / Excluir Arquivos o problema e quando tento criar uma pasta que ja existe ou excluir um arquivo que não existe me é retornado um erro...
ate ai tudo bem...

O problema e que utilizo as seguinte funções para verificar se a pasta/arquivo existe ou não...

Diretorio Existe
------------------------------------------------------------
Código:
function FTPDirExists(DirName: String; IdFTPComp: TIdFTP): Boolean;
Var
 DirList : TStringList;
begin
 Result := False;
 DirList := TStringList.Create;
 IdFTPComp.List(DirList, DirName, True);
 if DirList.Count > 0 then
  Result := True;
 DirList.Free;
end;


Arquivo Existe
-------------------------------------------------------------
Código:
function FTPFileExists(AFTPClient : TIdFTP; const AFile : string) : Boolean;
begin
    Result := False;
    try
      if not AFTPClient.Connected then //Pas connecté ?
        AFTPClient.Connect(); //On connecte
    except
       Exit; //Impossible de connecter !
    end;
    Result:=AFTPClient.Size(AFile)<>-1;
end;




So que as vezes quando chamo uma dessas funções a mesma demora muito responder e as vezes ate trava. Pensei que poderia ser o servidor FTP mas ja passou por uns 3 servidores e tudo retorna o mesmo erro...
ai testei no VB6 e funcionou perfeitamente...

Resumindo alguem tem alguma ideia de como resolver este problema? Melhorando estas funções ou definindo alguma outra logica....

Desde ja muito obrigado pela atenção...
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular MSN Messenger
BugsBunny
Mestre
Mestre


Registrado: Quarta-Feira, 19 de Novembro de 2003
Mensagens: 890

MensagemEnviada: Sex Jun 27, 2008 10:08 am    Assunto: Responder com Citação

Olá velinho,

Tenho um código bem parecido com o seu. Uso com o Indy 10.

Código:

function TFtpFunc.FTPFileExists(aFileName: string): Boolean;
begin
    try
        FFTP.List(nil, aFileName, False);
        Result:= (FFTP.ListResult.Count > 0);
    except
        Result := False;
    end;
end;


Uso essa função tanto para verifcar arquivos quanto diretorios.

Um detalhe me chamou a atenção. Pq num de seus metodos vc não está se conectando ao servidor FTP, e no outro vc está?
O ideal seria vc se conectar uma vez, executar suas operações, e sair.

Bugs
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
Mostrar os tópicos anteriores:   
Novo Tópico   Responder Mensagem    ActiveDelphi - Índice do Fórum -> Delphi Todos os horários são GMT - 3 Horas
Página 1 de 1

 
Ir para:  
Enviar Mensagens Novas: Proibido.
Responder Tópicos Proibido
Editar Mensagens: Proibido.
Excluir Mensagens: Proibido.
Votar em Enquetes: Proibido.


Powered by phpBB © 2001, 2005 phpBB Group
Traduzido por: Suporte phpBB