GARANTIR DESCONTO

Fórum Erro em toda a aplicação - Tem como tratar? #347049

05/10/2007

0

Na nossa aplicação, de vez em quando aparece um Acces Violation. Como esse erro aparece mui raramente, mas aparece, fica difícil saber onde, pois sempre acontece no cliente. Então pergunto: Tem como tratar o erro, mas abordanmdo todo a projeto? Ou seja, gravar um log, fazer qualquer coisa, mas não deixar a aplicação travar? Já ouvi dizer que tem sim, mas eu não sei. Respostas como, coloca um Try...Exception, não adianta, pois isso é local(tratamento local). O erro é ESPORÀDICO, raro mas acontece e não tem como identificar, pois sempre o cliente é que identifica. Nada acontece em Design. A rotina que eu quero, tem identificar o erro, onde e gravar num log.


Paulo

Paulo

Responder

Posts

05/10/2007

Massuda

Pesquise o fórum por ´madexcept´ ou ´jcl debug´ que você deve encontrar referências a como gerar um log com dados do erro.


Responder

Gostei + 0

05/10/2007

Paulo

Massuda, não é bem gerar o log a minha dúvida, mas sim, impedir que trave a aplicação quando o erro ocorrer e depois sim, gravar num log para manutenção. O erro pode dar em qualquer situação. Não há nada específico para dar o erro.


Responder

Gostei + 0

05/10/2007

Paulo

Acho que devo tratar dentro do ApplicationEvents, para evitar que o erro trave a aplicação, segundo me passaram aqui agora. Acho que é isso. Vou ver e posto, mas não tem como postar já, pois teremos que compilar uma versão, mandar para os clientes e ver o que acontece.


Responder

Gostei + 0

05/10/2007

Massuda

...impedir que trave a aplicação quando o erro ocorrer...
Geralmente esses mecanismos de gerar log podem ser usados de modo a não derrubar o programa.

Você pode usar o OnException do TApplication ou via TApplicationEvents, mas dentro desse evento não há como obter informações mais detalhadas sobre erro além do nome da exceção.


Responder

Gostei + 0

05/10/2007

Carlos Jatai

Amigo Paulo, acredito que esse erro deve acontecer sempre que um determinado formulário é aberto ou usado. é provável que seja simples resolver.
acredito que sua aplicação crie o formulário sempre que ele é chamado, ou seja, no Menu vc ao clicar a opção pra abrir um form, no evento on click vc mande criar o form que está sendo chamado, tipo:
(meu form.createself ; meuform.show).(PENSO EU QUE SEJA ASSIM QUE VC TRABALHA).
no menu do Delphi tem a opção Project, nesse menu que se abre tem a opção ´options´, na paleta do form tem [b:d44a68dc6b]autocreateforms[/b:d44a68dc6b] de um lado e do outro [b:d44a68dc6b]avaliable forms[/b:d44a68dc6b], veja se tds os forms do sua aplicação estão em [b:d44a68dc6b]avaliable forms[/b:d44a68dc6b]. Geralmente esse erro acontece por causa disso, eu já passei por uma situação assim e foi assim a solução.

Espero ter ajudado.

Carlos Jatai.


Responder

Gostei + 0

05/10/2007

Paulo

Carlos, agradeço pela ajuda, mas como eu falei acima, aqui comigo nunca deu, em momento algum no momento de eu rodar o projeto. O erro é intermitente. O cliente abre o form várias vezes e não dá erro, mas do nada às vezes acontece. Como disse, o erro é intermitente. Nada a ver com o projeto, se o form foi ou não criado.


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar