Una solución, a falta de otra mejor, que de momento no se me ocurre, sería:
Bájate un componente
ApplicationEvents y el evento
OnException del mismo, escribes llo que sigue:
Código:
procedure TForm1.ApplicationEvents1Exception(Sender: TObject;
E: Exception);
begin
ShowMessage(e.Message);
if (lowercase(copy(E.Message,1,19)))='invalid input value' then
Application.MessageBox('Formato de datos incorrecto inténtelo de nuevo.','Atención',mb_Ok +
mb_IconQuestion);
end;
Te garantizo que funciona, si alguien sabe alguna manera mas elegante de resolverlo será bienvenido al hilo.
Un Saludo.