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)
-   -   Excepciones del bde (https://www.clubdelphi.com/foros/showthread.php?t=20407)

Pablo Carlos 14-04-2005 18:43:40

Excepciones del bde
 
Hola... estuve revisando el historico del foro y encontré este código de marcoszorrilla (muy interesante)
Código Delphi [-]
Const
  eInvalidDate = 10059; // cambie el número 72 que tenia por el actual
// declaro esas const despues del uses
procedure TdmTablas.error(DataSet: TDataSet; E: EDatabaseError);
var
mierror: double;
begin
mierror:= (E as EDBEngineError).Errors[0].Errorcode;

if (E is EDBEngineError) then
 if (E as EDBEngineError).Errors[0].Errorcode = eInvalidDate then
  begin
   Application.MessageBox('Formato de fecha inválido','Atención',mb_Ok +
   mb_IconQuestion);
   Abort;
  end;
end;
// y luego capturo el error  :rolleyes: 
procedure TdmTablas.tblInventarioEditError(DataSet: TDataSet;
  E: EDatabaseError; var Action: TDataAction);
begin
 error(tblInventario,e);
end;

procedure TdmTablas.tblInventarioPostError(DataSet: TDataSet;
  E: EDatabaseError; var Action: TDataAction);
begin
 error(tblInventario,e);
end;
end.
Modifico una fecha poniendo 00/00/0000 y obviamente da error, pero lo extraño que no entra al procedure PostError, directamente sale el mensaje de error de siempre, probado desde dentro y fuera de delphi.- ¿Qué será?
Saludos

Pablo Carlos 15-04-2005 01:18:24

Y no sólo eso sino que tambien al lanzar desde delphi la aplicación cuando da el error se para en el llamado al form y no en el posterror de la tabla.-
Por ejemplo tengo form1 donde llamo al formdos con showmodal aqui es donde se posiciona delphi al ver el error, el mensaje es eConvertError .... "10/10/0000" is not a valid date (este cuando está dentro de delphi) y fuera sólo "10/10/0000" is not a valid date.-
Saludos

MasterXP 15-04-2005 04:31:07

Cita:

Empezado por Pablo Carlos
Por ejemplo tengo form1 donde llamo al formdos con showmodal aqui es donde se posiciona delphi al ver el error, el mensaje es eConvertError .... "10/10/0000" is not a valid date (este cuando está dentro de delphi) y fuera sólo "10/10/0000" is not a valid date.-
Saludos

Eso esta muy bien, por que si lo corres desde delphi presionando F9, se ejecuta el depurador junto con el programa, por eso te aparece el mensaje del depurador de Delphi y luego el que creaste tu.

Si quieres ejecutar el programa sin el depurador(osea como quedaria en realidad), presiona Ctrl+Shit+F9.

salu2.

Pablo Carlos 15-04-2005 17:57:46

Cita:

Empezado por MasterXP
luego el que creaste tu.
salu2.

Hola... gracias por responder. Es que el mio nunca sale :confused:
ni siquiera entra al evento posterror
Saludos


La franja horaria es GMT +2. Ahora son las 21:36:34.

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