Cita:
Empezado por jafera
...
Posiblemente tu comentario tiene su razón, cosa que desconocia por autodidacta pero siempre he hecho cosas así, de mandar desde el datamodule instrucciones al formulario.
...
|
Hola Josep.
Si que la tiene...
Un modo de utilizar los eventos de los componentes que residen en tu
TDataModule sin que este "vea" al form es definir los métodos dentro de él.
Ajustando el ejemplo a tu último código, sería:
Código Delphi
[-]
...
type
TDataSetEvent = procedure(DataSet: TDataSet) of object;
TtuForm = class(TForm)
Button1: TButton;
procedure FormCreate(Sender: TObject);
...
procedure FormDestroy(Sender: TObject);
private
FOldEvent : TDataSetEvent;
procedure DataSetAfterDelete(DataSet: TDataSet);
public
end;
...
implementation
uses u_TuDataModule;
procedure TTuForm.DataSetAfterDelete(aDataSet: TDataSet);
begin
JvDBUltimGrid1.Columns[15].Visible := False;
tuDataModule.L_PaguesDIA_BAIXA.Value:= 0; DBEdit3.Font.Color:=clBlack;
DBEdit3.Color:=clWindow;
end;
procedure TFTuFormFormCreate(Sender: TObject);
begin
if Assigned(tuDataModule.DataSet.AfterDelete) then
FOldEvent := tuDataModule.DataSet.AfterDelete;
tuDataModule.DataSet.AfterDelete := DataSetAfterDelete;
tuDataModule.DataSet.Open
end;
...
procedure TTuForm.FormDestroy(Sender: TObject);
begin
if Assigned(FOldEvent) then
tuDataModule.DataSet.AfterDelete := FOldEvent;
end;
end.
Saludos