Ver Mensaje Individual
  #1  
Antiguo 30-12-2007
Avatar de sitrico
[sitrico] sitrico is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Caracas, Venezuela
Posts: 295
Reputación: 24
sitrico Va por buen camino
No Saltan las excepciones

Tengo el siguiente código:

Código Delphi [-]
procedure TfActualizarRubros.btOkClick(Sender: TObject);
Var
Cur : TCursor;
Begin
Cur := Screen.Cursor;
Screen.Cursor := crHourglass;
  inherited;
Try
   u.Transaction.StartTransaction;
   dbMontos.DisableControls;
   Case modo of
      1 : IncluirRubro;
      2 : ModificarRubro;
      3 : BorrarRubro;
      End;
   u.Transaction.Commit;
   dbMontos.EnableControls;
Except
   On e:Exception do
      Begin
      u.Transaction.Rollback;
      ModalResult := mrNone;
      Exception.Create('Error al '+Caption+#13+
                              'Mensaje del servidor: '#13+e.Message);
      End
   End;
Screen.Cursor := Cur;
end;

Es la estructura básica que he usado desde hace tiempo para actualizar las tablas firebird. Inicio una transacción, ejecuto las sentencias SQL correspondientes y termino con un commit. Si salta una excepción ejecuto el RollBack y muestro el mensaje correspondiente.

Al probar (forzando un error) no se muestra el mensaje (exception.create...), a pesar de que por debug puedo ver que si se ejecutan las instrucciones dentro del except y se muestra la excepción del IDE de Delphi. Si lo muestro como un MessageBox si aparece el mensaje.

Esto con Delphi 7.
__________________
Sitrico

Última edición por sitrico fecha: 30-12-2007 a las 02:57:55.
Responder Con Cita