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 

Tratar Mensagem de erro

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


Registrado: Sábado, 19 de Setembro de 2009
Mensagens: 117
Localização: Porto Alegre-RS

MensagemEnviada: Qua Jul 10, 2013 9:37 am    Assunto: Tratar Mensagem de erro Responder com Citação

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
Ver o perfil de Usuários Enviar Mensagem Particular MSN Messenger
CesarRocha
Mestre
Mestre


Registrado: Segunda-Feira, 30 de Mai de 2011
Mensagens: 794
Localização: São Paulo - SP

MensagemEnviada: Qua Jul 10, 2013 9:49 am    Assunto: Responder com Citação

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
Ver o perfil de Usuários Enviar Mensagem Particular
rique_neves
Mestre
Mestre


Registrado: Sexta-Feira, 17 de Fevereiro de 2012
Mensagens: 873

MensagemEnviada: Qua Jul 10, 2013 11:41 pm    Assunto: Re: Tratar Mensagem de erro Responder com Citação

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
Ver o perfil de Usuários Enviar Mensagem Particular Enviar E-mail
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