Algo que no mencione es que el grid1 esta en un tabsheet y el grid2 esta en la forma como tal.
Si estoy editando en el grid1 y doy click en otro componente que se encuentre en el tabsheet, se ejecuta primero el evento grid1.onclick y luego el evento del click del otro componente, pero no sucede asi si doy click en el grid2, tambien se da en los botones del toolbar; ejecuta primero el evento del click y luego grid1.onclick
La medida que tome fue hacer una validación en cada uno de los componente que me genera problemas
Código Delphi
[-]Function TFPrProy.ValidaDisp(Sender: TObject):Boolean; Begin If (Sender <> GrDistrFond) and ValDisp then Begin GrDistrFond.OnExit(Sender); If not ValDisp then Grid.SetFocus; End; Result := ValDisp; End;
Entonces dependiendo lo que retorne esa funcion se ejecuta los eventos del onclick de los diferentes componentes