Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

renatonavarro

Verificando erro...

Recommended Posts

Estou desenvolvendo uma aplicação que utiliza funções de uma boblioteca DLL externa de outro fornecedor.Utilizando: Public Declare Function Question Lib "Online.dll" () As Stringque realiza diversos procedimentos internos na DLL qdo executada. Existe como eu capturar e tratar algum erro que venha er retornado nesta função? pois algo dá errado na DLL que dá uma mensagem de erro e ao clicar em OK ele fecha o software.Gostaria de capturar o erro e tratá-lo.. pois como esta função se conecta ao banco, ao cair a conexão ele dá erro e fecha, eu quero pegar o erro e fazer a reconexão automática pra dpois chamar a função novamente.Como faço isso? pois a função é definida em um módulo... não consigo colocar um ON ERROR... pois só funciona dentro da função/sub...Alguem tem alguma luz???

Compartilhar este post


Link para o post
Compartilhar em outros sites

On Error Goto ChecaErrorseu codigo akiChecaError:if Err.Number >0 then msgbox Err.Descriptionend ifse você soluber o numero do error pode exir uma mensagem que não seja a descricao do erro, ou tomar uma ação.

Compartilhar este post


Link para o post
Compartilhar em outros sites

entao cara... esse declare function tá em um módulo.. ele não deixa usar on error fora de alguma função ou sub... esta função está na parte de declarações, fora de qq function ou sub... eu já tinha até tentado...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Como a função está dentro de uma dll, caso você não como modificar essa DL, tenta ver antes de chamar se a conexão do banco pode estar quebrada e mais alguma verificação que possa fazer a função dar erro.

Compartilhar este post


Link para o post
Compartilhar em outros sites

entao... a parte de banco está ok.. na verdade o exemplo era de banco + a DLL se conecta em um equipamento externo... via porta serial... e esse componente faz as verificações e a comunicação... quando o equipamento fica fora, ele dá um erro e fecha o software, devia retornar somente um código de erro para ser tratado... ainda estou me matando...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Hmm...Você não poderia tenta realizar esta mesma conexão serial antes de chamar a função da DLL? Nesse caso você poderia verificar e tratar os erros.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Uma solução chata (e lixão mas eu não consegui pensar em outra):1. Faz um segundo mini-executável que realize a mesma chamada à dll antes de dar o erro. Se ele conseguir executar sem dar erro, você escreve em algum arquivo temporário.2. Chama esse segundo executável. Pra saber se ele rodou beleza, sem erros, é só você verificar o arquivo temporário. Se não tiver rodado beleza será fácil de você tratar.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.