exit component Edit

Delphi

10/10/2012

Boa tarde pessoal

eu criei um componente herdado de Tedit que faz algumas validações no evento onexit


porém quando estou usando o mesmo nas aplicações, e preciso fazer algo no onexit, ele deixa de funcionar o onexit padrao que foi implementado no proprio componente. mesmo eu colocando o inherited ele nao executa o meétodo.

alguem sabe como eu posso fazer pra ele executar primeiro o onxit criando para o componete, e depois executar o onexit na aplicação?


obrigado.
Todimo Cláudio

Todimo Cláudio

Curtidas 0

Respostas

Todimo Cláudio

Todimo Cláudio

10/10/2012

alguem saberia me responder?

obrigado.
GOSTEI 0
Wilton Júnior

Wilton Júnior

10/10/2012

Não remova o inherited pois dele sai as validações criadas no compoentente anterior.
Maioria da minha telas vem de uma modelo com tudo feito certinho abaixo da inherited e coloco outro códigos e funciona.
Tente fazer o mesmo primeiro vem inherited depois coloca os código desejados.

Espero ter ajudado.
GOSTEI 0
Todimo Cláudio

Todimo Cláudio

10/10/2012

Não remova o inherited pois dele sai as validações criadas no compoentente anterior.
Maioria da minha telas vem de uma modelo com tudo feito certinho abaixo da inherited e coloco outro códigos e funciona.
Tente fazer o mesmo primeiro vem inherited depois coloca os código desejados.

Espero ter ajudado.



Obrigado pela Ajuda WILTON

mas é o seguinte, no componete criado, que no caso é herdado de TEdit, eu tinha criado uma procedure e vinculado no evento onexit herdado do componente TEdit, no create dele, uma coisa parecida com essa:

self.OnExit := minhaFuncaoExit;

porém quando eu estava usando este componente na aplicação, e tentava validar algo a mais no onexit, ele simplesmente perdia as validações feitas no componente executando apenas o que estava sendo validado na aplicação. MESMO COLOCANDO O INHERITED.

o que na verdade faz sentido, olhando mais aprofundamente o funcionamento do componente, eu percebi isso.

eu resolvi este problema sobrescrevedo o método DoExit, que vem herdado lá das classes base do edit, este método é chamado qdo é disparado a mensagem de saida do componente. Portanto basta apenas sobrescrever este método.


espero ter sido claro, e ter servido de ajuda para pessoas que por ventura venham ter este problema.


GOSTEI 0
Wilton Júnior

Wilton Júnior

10/10/2012

Entendi, o que acontece é que ao criar o componente essa procedure se perdeu no processo, agora no sei se o senhor fez igual irei lhe explicar nesse poste:
1- Monte uma unit vazia qualquer e atribua um nome;
2- coloque nesse user todos as bibliotecas de uma unit com o componente que senhor vai trabalhar;
3- Passe a procedure de validação para essa unit;
4- no evento oncreate do edit ou onexit coloque o procedimento e crie o componente na sua escolha.

É um processo simples, se notar os componentes normalmente utilizados por nós é criado dessa fornma, faça uma tentativa para ver se da certo.

Espero ter ajudado.
Deus o abençoe.
GOSTEI 0
POSTAR