PDA

Ver la Versión Completa : Capturar errores - ClientDataSets


rochi
13-11-2008, 23:34:55
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.

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.



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


Prueba:
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 FormStyle := fsStayOnTop

Saludos, y gracias