| Exibir mensagem anterior :: Exibir próxima mensagem |
| Autor |
Mensagem |
michaeldca Novato

Registrado: Sábado, 5 de Mai de 2012 Mensagens: 15
|
Enviada: Sex Fev 22, 2013 9:22 am Assunto: Ao clicar no botão fechar, não disparar o evento onExit. |
|
|
Bom dia galera.
Estou com um problema nas minhas mãos e espero que vocês possam me ajudar.
Bom....tenho dois campos de data (TMaskEdit), um para a inicial e outra para final.
vou em qualquer um dos dois e coloco uma data inválida, depois vou e clico no botão Fechar (que eu programei e não o do Windows) ele passa no OnExit do campo e fala que a data está inválida e não me deixa prosseguir.
Minha dúvida é. Tem como eu saber qual Componente/Evento que chamou o OnExit para eu verificar se foi o botão Fechar ou não?
Grato se puderem ajudar.
Brigaduuuu! |
|
| Voltar ao Topo |
|
 |
johnny-walker Moderador


Registrado: Sábado, 4 de Outubro de 2003 Mensagens: 10653 Localização: Contagem/MG - BRAZIL
|
Enviada: Sex Fev 22, 2013 9:37 am Assunto: |
|
|
Teste a validade da data e passe Editmask.clear, claro que se vc não testar antes do formulário sair dará erro mesmo.
Teste com um try..except silencioso, lembrando que a exceção do editmask não é exposta e vc tem sempre problemas.
Eu fiz isto num que tinha editmask, utilizando o ApplicationEvents:
| Código: | procedure TfrmVerifyCPFCNPJ.ApplicationEvents1Exception(Sender: TObject;
E: Exception);
begin
if Pos('Invalid input', E.Message) > 0 then
begin
meCNPJ_CPF.Clear;
Close;
end;
end; |
Só que somente tem este componente, mas tb deve funcionar.
bye _________________ P.O.W.E.R B.Y D.E.L.P.H.I |
|
| Voltar ao Topo |
|
 |
michaeldca Novato

Registrado: Sábado, 5 de Mai de 2012 Mensagens: 15
|
Enviada: Sex Fev 22, 2013 10:13 pm Assunto: |
|
|
| johnny-walker escreveu: | Teste a validade da data e passe Editmask.clear, claro que se vc não testar antes do formulário sair dará erro mesmo.
Teste com um try..except silencioso, lembrando que a exceção do editmask não é exposta e vc tem sempre problemas.
Eu fiz isto num que tinha editmask, utilizando o ApplicationEvents:
| Código: | procedure TfrmVerifyCPFCNPJ.ApplicationEvents1Exception(Sender: TObject;
E: Exception);
begin
if Pos('Invalid input', E.Message) > 0 then
begin
meCNPJ_CPF.Clear;
Close;
end;
end; |
Só que somente tem este componente, mas tb deve funcionar.
bye |
Bom...quando voltar ao trabalho na segunda eu testo e retorno a resposta.
mas agradeço desde já.
valeu |
|
| Voltar ao Topo |
|
 |
johnny-walker Moderador


Registrado: Sábado, 4 de Outubro de 2003 Mensagens: 10653 Localização: Contagem/MG - BRAZIL
|
Enviada: Sáb Fev 23, 2013 12:04 pm Assunto: |
|
|
Disponha amigo.
bye _________________ P.O.W.E.R B.Y D.E.L.P.H.I |
|
| Voltar ao Topo |
|
 |
michaeldca Novato

Registrado: Sábado, 5 de Mai de 2012 Mensagens: 15
|
Enviada: Ter Fev 26, 2013 11:11 am Assunto: |
|
|
Então amigo.
Desculpe a demora, é que ontem foi um dia tenso!
Mas então....o código que você enviou não deu certo!
Pois em todas as validações da data ele fecha a tela. (não sei se coloquei no lugar certo).
Mas preciso, que se o usuário digitar a data inválida e der exit no campo de data, ele valida. Só não valida se clicar no botão de fechar(close).
Tem como saber o evento/componente que disparou o exit?
Grato,
Michael D. C. A. |
|
| Voltar ao Topo |
|
 |
|