运行期间有一段时间不需要引发此事件,就要取消事件关联,过后又要关联上事件,请问怎么做
  
  我在Query1AfterScroll事件中的代码
procedure Tfrm_client.Query1AfterScroll(DataSet: TDataSet);
begin
    edit1.Text:=DBGrid1.DataSource.DataSet.FieldByName('client_no').AsString ;
    edit2.Text:=DBGrid1.DataSource.DataSet.FieldByName('client_name').AsString ;
    edit3.Text:=DBGrid1.DataSource.DataSet.FieldByName('client_cm').AsString ;
    edit5.Text:=DBGrid1.DataSource.DataSet.FieldByName('client_add').AsString ;
    edit4.Text:=DBGrid1.DataSource.DataSet.FieldByName('client_tel').AsString ;
    edit6.Text:=DBGrid1.DataSource.DataSet.FieldByName('client_fax').AsString ;
    edit7.Text:=DBGrid1.DataSource.DataSet.FieldByName('client_post').AsString ;
    edit8.Text:=DBGrid1.DataSource.DataSet.FieldByName('client_re').AsString ;end;  我在Edit1KeyDown事件中要取消上面这事件
procedure Tfrm_client.Edit1KeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  Query1.AfterScroll:=nil;
end; 问题在这里,我在Edit1Exit事件中又要得到以前Query1.AfterScroll事件
procedure Tfrm_client.Edit1Exit(Sender: TObject);
begin
  Query1.AfterScroll?end;
  这该怎么写啊。。

解决方案 »

  1.   

    Query1.AfterScroll:=Query1AfterScroll;
      

  2.   

    这。 
      谢谢。
    顺便问一下,
     假如我用
     Query1.AfterScroll:=你定义的事件处理过程
     
    那 这个过程要怎么写?
      

  3.   

    Tfrm_client在类里面定义一个变量
      Event :TDataSetNotifyEvent;  我在Edit1KeyDown事件中要取消上面这事件
    procedure Tfrm_client.Edit1KeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    begin
      Event := Query1.AfterScroll;
      Query1.AfterScroll:=nil;
    end;procedure Tfrm_client.Edit1Exit(Sender: TObject);
    begin
      Query1.AfterScroll:= Event;
    end;