Sobreescrevendo função ou como chamar um evento de outro com

Delphi

06/04/2004

Como o fórum sumiu com minha última mensagem vou postar de novo, então peço que se vc postou alguma resposta, coloque de novo, pq eu não achei a solução. Valeu!

Criei um componente DBEdit para validar cnpj e cpf ao mesmo tempo, para um sistema que usa como chave primaria ou um ou outro, conforme a situação. Não tem como eu inserir uma mascara e validar depois pq na tabela tem os dois tipos, e é tabela do cliente que esta migrando para mysql etc..etc....

O problema é o seguinte, eu sobreescrevi a funçao DoExit (que chama o evento OnEnter), para quando o usuário sair ele validase e formata-se o cnpj/cpf, até ai blz, porém se o Edit está com o foco e o cliente tentar salvar, mesmo que digite somente 1 dígito, vai conseguir, pq não é feita nenhuma validação, ai tentei fazer um override na função Validate(que chama OnValidate), do TField do componente, porém sem sucesso, pq esta função não faz parte do TDBEdit. Alguem sabe como posso inserir essa função ou Evento dentro do meu componente??? Ja varei 2 noites em cima deste problema e nd...Toda a ajuda sera bem vinda!!!


Xandyr

Xandyr

Curtidas 0

Respostas

Xandyr

Xandyr

06/04/2004

Ninguem sabe!


GOSTEI 0
Rômulo Barros

Rômulo Barros

06/04/2004

O problema é o seguinte, eu sobreescrevi a funçao DoExit (que chama o evento OnEnter), para quando o usuário sair ele validase e formata-se o cnpj/cpf, até ai blz, porém se o Edit está com o foco e o cliente tentar salvar


Para resolver este problema, insira a linha abaixo antes de qualquer codigo que esteja no botao salvar:

dbeditQualquer.SetFocus; // Ou seja, basta vc tirar o focus do seu componente antes de dar um Post, e assim, o evento OnExit sera disparado.



GOSTEI 0
POSTAR