Pablo Carlos
14-04-2005, 18:43:40
Hola... estuve revisando el historico del foro y encontré este código de marcoszorrilla (muy interesante)
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
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