|
ActiveDelphi .: O site do programador Delphi! :.
|
Exibir mensagem anterior :: Exibir próxima mensagem |
Autor |
Mensagem |
pretofilho Aprendiz
Registrado: Sábado, 19 de Setembro de 2009 Mensagens: 117 Localização: Porto Alegre-RS
|
Enviada: Qua Jul 10, 2013 9:37 am Assunto: Tratar Mensagem de erro |
|
|
Bom dia
Utilizo a versão do Delphi6
Breve resumo da situação,
Tenho uma rotina que envia arquivo para um ambiente de ftp, após o envio do pedido, eu verifico se o arquivo ainda esta parado na pasta de envio, com o código abaixo, se o arquivo não estiver mais na pasta remota, é porque o arquivo já esta em processamento ( correto ) porém esta gerando uma mensagem de erro e gostaria de tratar ela e disponibilizar uma mensagem na tela ( ...... )
o erro é ( 450 Arquivo não encontrato ) depois disso continuar a execução do programa, desde já agradeço pela atenção de todos.
Vale lembrar que, ao executar o código abaixo, ja estou conectado no servidor remoto.
procedure TForm1.btn_atualiza_pedidoClick(Sender: TObject);
begin
IdFTP1.ChangeDir(edt_up.Text);
Application.ProcessMessages;
IdFTP1.List(MemoPed.Lines,edt_nome_arq_local.Text,False);
Application.ProcessMessages;
lbt_cont_p.Caption := IntToStr(MemoPed.Lines.Count);
Application.ProcessMessages;
lbt_cont_p.Visible := True;
Application.ProcessMessages;
end; |
|
Voltar ao Topo |
|
|
CesarRocha Mestre
Registrado: Segunda-Feira, 30 de Mai de 2011 Mensagens: 794 Localização: São Paulo - SP
|
Enviada: Qua Jul 10, 2013 9:49 am Assunto: |
|
|
Nuss, pra que tanto Application.ProcessMessages? Se o problema é a "travada" da aplicação o correto seria trabalhar com Threads e não fazer remendos... Apenas uma dica pra melhorar sua aplicação.
Para tratamento de exceções você pode usar try except;
Leia aqui: http://www.resumoti.com.br/?p=413
~bye |
|
Voltar ao Topo |
|
|
rique_neves Mestre
Registrado: Sexta-Feira, 17 de Fevereiro de 2012 Mensagens: 873
|
Enviada: Qua Jul 10, 2013 11:41 pm Assunto: Re: Tratar Mensagem de erro |
|
|
Código: | IdFTP1.ChangeDir(edt_up.Text);
Application.ProcessMessages;
IdFTP1.List(MemoPed.Lines,edt_nome_arq_local.Text,False);
Application.ProcessMessages;
lbt_cont_p.Caption := IntToStr(MemoPed.Lines.Count);
Application.ProcessMessages;
lbt_cont_p.Visible := True;
Application.ProcessMessages; |
Código: | try
IdFTP1.ChangeDir(edt_up.Text);
except on e : exception do
showmessage('Ocorreu o seguinte erro: '+ e.message); |
voce pode fazer assim para suas rotinas, roda o teu algoritmo si acontecer erro, emite uma mensagem
espero ter ajudado _________________ Atrás de todo problema a uma oportunidade brilhantemente disfarçada!
Compartilhar Imagens .: http://s124.photobucket.com/ |
|
Voltar ao Topo |
|
|
|
|
Enviar Mensagens Novas: Proibido. Responder Tópicos Proibido Editar Mensagens: Proibido. Excluir Mensagens: Proibido. Votar em Enquetes: Proibido.
|
|