Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Providers (https://www.clubdelphi.com/foros/forumdisplay.php?f=10)
-   -   Capturar errores - ClientDataSets (https://www.clubdelphi.com/foros/showthread.php?t=61606)

rochi 13-11-2008 23:34:55

Capturar errores - ClientDataSets
 
Hola, trabajo con Delphi 7 + FB 2.0 + IBX.
Situación: quiero personalizar los errores.
1)Una forma es con customConstraints en los campos del ClientDataset, pero no funcionan, es como si estuvieran vacíos.
Caso concreto: Nombre is not null

2) Capturando en el BeforePost, pregunto si el campo es Null, captura el error, pero además me sale un error de la aplicación en inglés.
Código:

if cdsCli.FieldByName('DNI').IsNull then
 DisplayMSg('Debe ingresar el DNI');

Tengo el integrated debugger inhabilitado, ¿alguna idea?.

3) una vez capturado el error en el beforePost se cierra el form y no puedo modificar los datos hasta que lo vuelva a abrir.

Saludos, y muchas gracias desde ya

Luis M. 14-11-2008 14:27:49

Hola.

Cita:

Empezado por rochi (Mensaje 325953)
Código:

if cdsCli.FieldByName('DNI').IsNull then
 DisplayMSg('Debe ingresar el DNI');


Prueba:
Código Delphi [-]
if cdsCli.FieldByName('DNI').IsNull then
 Begin
  DisplayMSg('Debe ingresar el DNI');
  cdsCli.FieldByName('DNI').Focuscontrol;
  Abort;
 End;

Un saludo.

rochi 21-11-2008 18:55:18

Hola, disculpá la demora en responderte, pero no recibí la notificación de respuesta :confused:
Hice lo que sugeriste, y pasa lo mismo, vuelve al form anterior.

Pareciera que la aplicación capturara el error antes que el OnPostError, o no se a que se debe.
Los DataModule los creo a demanda (Create),sonn Singletons para que no haya mas de una instancia dando vueltas.
En este caso es creado en el form que tiene una grilla con los datos a modificar/insertar que llama al form de las ABM.
A su vez este DM hereda de uno anterior, y uso métodos del 'padre', no se si tenga que ver con esto.

Saludos

rochi 22-11-2008 00:05:17

Bueno, corregí el "error", que era ninguno, pasa que el form queda detrás del form desde el que fue llamado, desconozco la causa. Si alguien lo sabe, me gustaría saberlo.
Lo solucioné haciendo
Código Delphi [-]
FormStyle := fsStayOnTop

Saludos, y gracias


La franja horaria es GMT +2. Ahora son las 07:58:55.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi