GARANTIR DESCONTO

Fórum Capturar evento de click de um botão sem utilizar o OnClick e nem incluir linhas de códigos no .pas (Delphi) #572160

05/12/2016

0

Estou passando por um desafio, queria muito criar uma biblioteca para a empresa em que trabalho que captura os principais eventos que um usuário possa fazer (como o clique de um mouse ou evento de KeyPress), para assim a gente saber exatamente o que o usuário fez antes de causar um erro. O problema, é que temos muitos sistemas com muitos formulários por aqui, e ir colocando uma chamada em cada evento de cada um dos componentes iria levar tempo demais de programação.
Tenho lido bastante documentação sobre Class Helper e Class Interceptor do Delphi, para que que eu possa criar uma nova unit com todo o código la dentro, mas ainda assim não obtive sucesso na hora de fazer um override de um Click de um TControl, por exemplo.
Alguma idéia? Será que tenho como fazer isto utilizando Class Helper ou Class Interceptor mesmo?
Ismael Machado

Ismael Machado

Responder

Posts

05/12/2016

Gutierry Pereira

Boa tarde,
você pode fazer isso utilizando a captura de eventos(mensagens) do windows, ele intercepta todos os eventos da aplicação.
Porem acredito que se deseja logar os acontencimentos antecedentes a um erro um eureka log ou outro componenente de geração de callstack resolveria seu problema.

a utilização do Applicationevents para interceptar excption e lançar eses logs com o callstack, acredito que tambem seria uma solução.


Espero ter ajudado.

Att: Gutierry Antonio
Responder

Gostei + 0

05/12/2016

Ismael Machado

Obrigado Gutierry, de fato já utilizamos o MadExcept para capturar diversas informações sobre um eventual erro, mas já vimos que mesmo toda aquela informação ainda não é o bastante, temos muitos problemas que acontece devido a um mouse que clica duas vezes, um teclado que aperta DEL sozinho de vez em quando, ou um erro simplesmente misterioso que não sabemos como é possível acontecer.
Vou tentar utilizar o que já tenho até o momento com essa idéia de capturar os eventos do windows, e se tudo der certo posto aqui! Abraço.
Responder

Gostei + 0

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

Aceitar