 |
ActiveDelphi .: O site do programador Delphi! :.
|
| Exibir mensagem anterior :: Exibir próxima mensagem |
| Autor |
Mensagem |
shawdown Profissional

Registrado: Segunda-Feira, 1 de Outubro de 2007 Mensagens: 546 Localização: Goiania-GO
|
Enviada: Qui Jun 26, 2008 4:52 pm Assunto: TIdFTP |
|
|
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 |
|
 |
BugsBunny Mestre


Registrado: Quarta-Feira, 19 de Novembro de 2003 Mensagens: 890
|
Enviada: Sex Jun 27, 2008 10:08 am Assunto: |
|
|
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 |
|
 |
|
|
Enviar Mensagens Novas: Proibido. Responder Tópicos Proibido Editar Mensagens: Proibido. Excluir Mensagens: Proibido. Votar em Enquetes: Proibido.
|
|