Ver Mensaje Individual
  #6  
Antiguo 09-05-2018
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Reputación: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola.
Cita:
Empezado por José Luis Garcí Ver Mensaje
Mucho gusto en saludarte ecfisa, en este caso no me vale, ya que lo controlo mediante un datasource y no puedo poner el ibdataset en el evento DataSetBeforePost y no quiero tocar este ya que desde otro formulario debe funcionar normal.
Pero no es necesario dejar el evento asignado, podes asignar el evento al entrar al form y liberarlo al salir, v.gr.:
Código Delphi [-]
// incluye DB (por TDataSet)
...
type
 TForm1 = class(TForm)
    DBGrid1: TDBGrid;
    procedure FormCreate(Sender: TObject);
    //...
    procedure FormDestroy(Sender: TObject);
  private
    procedure DataSetBeforePost(DataSet: TDataSet);
  public
  end;
...
implementation
  
uses DataModule1; // (podrías asignar el evento desde el mismo dataset)

var
  PostEnabled: Boolean = False;

procedure TForm1.DataSetBeforePost(DataSet: TDataSet);
begin
 if not PostEnabled then
    Abort;
  PostEnabled:= False
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
  DBGrid1.DataSource.DataSet.Open;
  DBGrid1.DataSource.DataSet.BeforePost := DataSetBeforePost;
end;

//----

procedure TForm1.FormDestroy(Sender: TObject);
begin
   DBGrid1.DataSource.DataSet.BeforePost := nil;
end;

(*   En algún sitio al guardar...  *)
...
begin
  PostEnabled:= True;
  DBGrid1.SetFocus
end;

end.

Saludos
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....

Última edición por ecfisa fecha: 09-05-2018 a las 18:31:22. Razón: Agregar comentario
Responder Con Cita