Diferença de um Evento disparado Pelo Click ou pelo Enter.

Delphi

24/05/2006

Pessoal gostaria de saber se existe alguma diferença entre, Chamar um Evento de um botão, com o click do mouse ou pressionando a Tecla Enter.

O meu problema é o sequinte: Possuo um botão onde, no seu evento onClick chamo um outro Formulario.

Quando clico no botão com o Mouse, ele executa o evento, exibe uma mensagem de ´Access Violated at .......´, e depois abre o Formulário.

Agora quando pressiono o Enter, ele tmb chama o evento, Abre o formulário e não exibe a mensagem de erro.

Qual a diferença ?

Obrigado.


Mascotepc

Mascotepc

Curtidas 0

Respostas

Massuda

Massuda

24/05/2006

Erros de Access Violation geralmente estão associados a tentar usar um objeto que ou não foi criado ainda ou já foi destruído.

Veja no seu tratamento do OnClick se você está tentando usar um objeto que não existe ainda ou já foi destruído.


GOSTEI 0
Mascotepc

Mascotepc

24/05/2006

Concordo com sua observação mas, se fosse o caso de um objeto não criado, não iria funcior quando chamado o Evento OnClick do Botão pressionando a tecla Enter. (O erro só ocorre quando clico com o Mouse no botão)


GOSTEI 0
Massuda

Massuda

24/05/2006

Pode ser que você tenha tratamento dos eventos OnMouseXxx e o problema esteja lá e não no OnClick.

De qualquer forma, no caso mais simples, não tem diferença para o OnClick do clique do mouse ou apertar Enter. Entretanto, seu código pode conter coisas como chamar indiretamente o OnClick passando nil como Sender, etc e nesse caso pode haver diferença.

Seria interessante você postar aqui seu tratamento de OnClick.


GOSTEI 0
Marco Salles

Marco Salles

24/05/2006

Uma diferença sutil em usar o click X usar o Mouse esta na questão do foco e alguns eventos relacionados ao eventos OnExit.. Ao clicar voce esta mudando o Foco Para o Botão (Existem algumas classes que não recebem o foco) e ao usar enter presupoem-se que o componente Botão ja esteja com o foco...

Sugiro que faça uma analise no evento Onexit do componente em questão , usando as tecnicas de depuração


GOSTEI 0
POSTAR