Ver Mensaje Individual
  #27  
Antiguo 21-04-2005
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Reputación: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Cita:
Empezado por Pablo Carlos
ya hare las pruebas para tratar de elegir el mejor evento...
Lamento informarte que creo que no lo encontrarás.

Hasta donde he visto la situación es así: cuando intentas pasar el foco a otro control, Delphi genera el mensaje CM_EXIT. El DBEdit maneja este mensaje más o menos así:


Código:
  Validate;
  DoExit;
Es en Validate (el nombre no es exacto) donde se produce la excepción y no es sino hasta DoExit donde se llama al evento OnExit, pero en caso de una excepción nunca se llega a este procedimiento.

Antes de CM_EXIT lo que hay son eventos del DataLink asociado al DBEdit (que es interno) y del DataSource. Quizá pudieras usar este último pero no estoy seguro de que se adaptara a tus necesidades.

Lo que yo posiblemente haría es crear un descendiente de TDBEdit que, o bien redefina el método Validate (no recuerdo si es virtual o no) o bien que reimplemente el manejador del mensaje CM_EXIT.

// Saludos
Responder Con Cita