Fórum Tratamento de Exceção #152594

07/04/2003

0

Olá,

Tenho em um formulário um DBEdit de um campo Data. Quando digito uma data inválida - por exemplo 99/99/9999 - e teclo TAB, o manipulador do delphi gera a seguinte mensagem : ´ ´99/99/9999´ is not a valid date ´. Que evento devo usar para colocar o meu tratamento de erro para que seja executado não permitindo que o manipulador padrão do Delphi entre em ação? Utilizei o código abaixo no evento onExit mas não funcionou,ou seja, este evento nem chegou a ser executado.

try
StrToDate(dbeSERV_DTNASC.Text);
except
on EConvertError do
ShowMessage (´Data Inválida!´);
end;


Ila

Ila

Responder

Posts

07/04/2003

Raphael Oliveira

NÃO tenho certeza mas vc tá pegando o erro errado, no caso naum está gerando um erro de conversão, seria outro tipo de erro, vc deve verificar o qual é o erro certo e testar se a mensagem de erro vai ser executa e mandar a sua mensagem antes da do Delphi


Responder

Gostei + 0

07/04/2003

Dilp

olha, eu acho que isso pode te ajudar
existe um componente chamado ApplicationEvents, conhece?
ele fica na paleta Additional, e controla os eventos da aplicação inteira.
coloque um no seu formulario principal, e no evento onexception faca:


if Pos(Uppercase(´is not a valid date´),UpperCase(E.Message)) > 0 then
showmessage(´Data Inválida´);

E.Message é um parametro

este evento controla as excecoes da sua aplicação. Depois vc pode ate controlar outros erros por aqui.


espero ter ajudado.


Responder

Gostei + 0

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

Aceitar