Procedure TForm1.ManejarErrorBloqueo(Dataset:TDataset;E:EDatabaseError);
var
I: Integer;
x: String;
begin
if Database1.InTransaction then
MessageDlg('Todavia estoy en la transaccion', mtWarning, [mbOK], 0);
if E is EDBEngineError then
with EDBEngineError(E) do
for I := 0 to ErrorCount - 1 do
if Errors[i].NativeError <> 0 then
begin
X := X+inttostr(Errors[i].NativeError)+#13+#10;
Exit;
end;
MessageDlg(''+X, mtError, [mbOK], 0);
end;
El messageDlg que me informa que todavia estoy dentro de la transaccion me lo muestra, osea que alli todavia está la transacción en funcionamiento.
Despues de mostrar los errores, hago un rollback y me da este error:
No user transaction is currently in progress.
...
__________________
Marcos
|