PDA

Ver la Versión Completa : Manejador de errores


asirvent
25-11-2003, 10:26:49
Hola, como puedo en un TClientdataset controlar el error que me llega en el evento OnreconcileError, ya se que con E.message se muestra el mensaje, pero yo quiero utilizar mi propio mensaje de error, o sea dependiendo del Error mostrar un mensaje u otro.

He probado con:

if (E as EReconcileError).Errorcode = eKeyViol then
begin
mmensaje('No se puede guardar, el registro ya existe, ['+e.Message+']',mtwarning,[mbok]);
action:=racancel;
end

Pero E.errorcode vale siempre 1. ¿Que estoy haciendo mal?

salu2

roman
25-11-2003, 15:00:38
¿Por qué el "casting"? ¿No sería mejor manejar directamete la excepción?


try
...
except
on E:EReconcileError do
..
end;


// Saludos

asirvent
26-11-2003, 09:45:44
Para mi caso necesito el casting, ya que lo que hago es utilizar un manejador de excepciones que se activa en el evento OnReconcileError:

procedure Tdmgym.tMaterialReconcileError(DataSet: TCustomClientDataSet;
E: EReconcileError; UpdateKind: TUpdateKind;
var Action: TReconcileAction);
begin
if (E as EReconcileError).Errorcode = eKeyViol then
begin
mmensaje('No se puede guardar, el registro ya existe, ['+e.Message+']',mtwarning,[mbok]);
action:=racancel;
end
end;

¿que se podría hacer?

salu2 y gracias