HOla a todos espero alguien pueda ayudarme con un problema que me vuelve loco. Tengo un form con varios TDBEdits, en el evento OnExit de un TDBEdit del formulario esta el sigte codigo:
Código Delphi
[-]
procedure TMainForm.txtNitExit(Sender: TObject);
begin
if not (dm.datos.compras.State = dsEdit) then
chkIfExistC;
end;
que no funciona si habilito el código que se encuentra comentado, que es la llamada a la funcion verificaDATO() que ve el dato ingresado por el usuario y devuelve true o false, cuando devuelve true, el codigo funciona bien, pero si devuelve false, y se muestra el dialogo 'Dato Inválido' los TDBEdits el formulario se bloquean, es decir, no puedo digitar ninguna entrada y solo la tecla TAB parece funcionar.
Por si acaso debo mencionar que estos TDBEdit tienen el sigte codigo en el evento OnKeyPress:
Código Delphi
[-]
procedure TMainForm.txtNroKeyPress(Sender: TObject; var Key: Char);
begin
if(Key = #13) then
begin
Key := #0;
Perform(WM_NEXTDLGCTL,0,0);
end
else
Key := Tecla.Numeros(Key);
end;
que me valida que el usuario solo ingrese numeros en el campo.
Parece que este problema solo pasa cuando hago una advertencia con un Showmessage o un MessageDlg. Alguien podria ayudarme?