Ver Mensaje Individual
  #5  
Antiguo 02-10-2011
Avatar de José Luis Garcí
[José Luis Garcí] José Luis Garcí is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Las Palmas de G.C.
Posts: 1.372
Reputación: 23
José Luis Garcí Va camino a la fama
hola novato_erick, te pongo el código de como lo hago yo

Código Delphi [-]
procedure TFDominios.SpeedButton2Click(Sender: TObject);
//------------------------------------------------------------------------------
//************************************************************[  Grabar  ]******
//------------------------------------------------------------------------------
begin
      try  //1
       //Aquí validamos y hacemos todo lo que sea necesario antes de Grabar, como por ejemplo confirmar el agregar otro registro, etc
       FCreadorTablas.post;   //Graba los Datos
       FCreadorTablas.IBTransaction1.CommitRetaining; //Confirma la Transición, haciendo visible el dato para todos, ojo si tienes un querry, es mejor reactivarlo
       //Aquí debes hacer, lo posterior a grabar, como borrar datos de componentes no conectado a la B.D., poner visible/enable o no botones, paneles, etc

     except //1
       on E: Exception do  //Captura el Mensaje de error
       begin
         //Mostramos el mensaje (DOM G-2) es mi identificador de error, lo que hago es DOM son las tres primeras letras del Form (Dominios) en este caso G, el modulo grabar y 2,
         //  por que en este caso dentro de grabar seria el segundo control de excepciones (he eliminado el otro para no complicar las cosas, ya que grababa en dos módulos diferentes)
         ShowMessage('DOM G-2 Se ha producido un error, y no se ha creado el Dominio,'+#13+#10+
                     'Error: ['+E.Message+']');  //E.Message sería el mensaje de error original
         FCreadorTablas.IBTransaction1.RollbackRetaining;  // Si se ha producido un error, desbloqueamos los valores introducidos para que no siga los datos activos, ya que nos
                                                                             // podría dar problemas e incluso bloquearnos la aplicación
       end;
     end;//1
end;
//1 Es muy importante una cadena Try Except end para controlar cuando se te produzca un error, no quede el sistema con fallos e incluso bloqueado
__________________
Un saludo desde Canarias, "El abuelo Cebolleta"
Responder Con Cita