IdFtp1 - Como posso tratar seus erros?
Boa tarde...
Estou tendo problemas para fazer o tratamento de erros do Idftp1, isto é, estou trabalhando com do Delphi 7, preciso fazer uma conecçao em ftp, só que quando é informado um usuario errado o sistema me devolve o seguinte erro - [b:6f63875727]User XXX Cannot log in[/b:6f63875727]., como fazer para capturar esse tipo de erro antes de aparecer essa tela de erro?.
Estou usando essa procedure para saber o status da conecção, gostaria de poder interceptar os erros como na rotina abaixo... sera que tem como?
procedure TForm1.IdFTP1Status(ASender: TObject; const AStatus: TIdStatus;
const AStatusText: String);
begin
case AStatus of
hsStatusText : statusbar1.SimpleText:=´hsStatusText´;
hsResolving : statusbar1.SimpleText:=´hsResolving´;
hsConnecting : statusbar1.SimpleText:=´hsConnecting´;
hsDisconnecting : statusbar1.SimpleText:=´hsDisconnecting´;
hsConnected : statusbar1.SimpleText:=´hsConnected´;
hsDisconnected : statusbar1.SimpleText:=´hsDisconnected´;
ftpTransfer : statusbar1.SimpleText:=´ftpTransfer´;
ftpReady : statusbar1.SimpleText:=´ftpReady´;
ftpAborted : statusbar1.SimpleText:=´ftpAborted´;
end;
end;
Agradeço a sua atenção...
Marcos.
Estou tendo problemas para fazer o tratamento de erros do Idftp1, isto é, estou trabalhando com do Delphi 7, preciso fazer uma conecçao em ftp, só que quando é informado um usuario errado o sistema me devolve o seguinte erro - [b:6f63875727]User XXX Cannot log in[/b:6f63875727]., como fazer para capturar esse tipo de erro antes de aparecer essa tela de erro?.
Estou usando essa procedure para saber o status da conecção, gostaria de poder interceptar os erros como na rotina abaixo... sera que tem como?
procedure TForm1.IdFTP1Status(ASender: TObject; const AStatus: TIdStatus;
const AStatusText: String);
begin
case AStatus of
hsStatusText : statusbar1.SimpleText:=´hsStatusText´;
hsResolving : statusbar1.SimpleText:=´hsResolving´;
hsConnecting : statusbar1.SimpleText:=´hsConnecting´;
hsDisconnecting : statusbar1.SimpleText:=´hsDisconnecting´;
hsConnected : statusbar1.SimpleText:=´hsConnected´;
hsDisconnected : statusbar1.SimpleText:=´hsDisconnected´;
ftpTransfer : statusbar1.SimpleText:=´ftpTransfer´;
ftpReady : statusbar1.SimpleText:=´ftpReady´;
ftpAborted : statusbar1.SimpleText:=´ftpAborted´;
end;
end;
Agradeço a sua atenção...
Marcos.
Marcao
Curtidas 0
Respostas
Marcao
31/08/2005
voltar
GOSTEI 0
Massuda
31/08/2005
O método TIdFTP.Connect gera uma exceção se não conseguir conectar com o servidor FTP. Trate o erro assim...Poderia tentar verificar o conteúdo da mensagem retornada na exceção, mas isso não é boa idéia pois essa mensagem é a mensagem do servidor e isso costuma variar de servidor para servidor.
try IdFTP1.Connect; ... except on E: EIdConnectException do begin // o servidor retornou um erro end; on E: EIdConnectTimeout do begin // o servidor não respondeu end; else // erro desconhecido raise; end;
GOSTEI 0
Marcao
31/08/2005
Boa Tarde Massuda, td bem?
Agradeço a sua atenção em relação ao meu problema.
Tentei utilizaro exemplo que vc me passou, mas mesmo assim continua dando erro. - EIdSocketError, quando digito o host, usuario, password ou porta invalida, vc sabe como tratar esses erros individualmente?.
Muito obrigado,
[]´ Marcos.
Agradeço a sua atenção em relação ao meu problema.
Tentei utilizaro exemplo que vc me passou, mas mesmo assim continua dando erro. - EIdSocketError, quando digito o host, usuario, password ou porta invalida, vc sabe como tratar esses erros individualmente?.
Muito obrigado,
[]´ Marcos.
GOSTEI 0
Massuda
31/08/2005
...como tratar esses erros individualmente?.
Eu geralmente não faço esse tipo de tratamento de erro detalhado (apenas digo que a conexão falhou), mas acho que seria possível usar um código parecido com este...try IdFTP1.Connect; ... except if IdFTP1.LastCmdResult.NumericCode > 0 then // possível erro no protocolo else // possível erro na conexão end;
GOSTEI 0
Marcao
31/08/2005
Bom dia Massuda, td bem?
Funcionou, muito obrigado pela força, valeu!!!
Grande Abraço,
Marcos.
Funcionou, muito obrigado pela força, valeu!!!
Grande Abraço,
Marcos.
GOSTEI 0