Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Conexión con bases de datos (https://www.clubdelphi.com/foros/forumdisplay.php?f=2)
-   -   Manejador de errores (https://www.clubdelphi.com/foros/showthread.php?t=5542)

asirvent 25-11-2003 10:26:49

Manejador de errores
 
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?

Código:

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


La franja horaria es GMT +2. Ahora son las 21:26:27.

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