TempItems是一个表。procedure TDDGSalesDataModule.SetAfterTempItemsChange(Value: TDataSetNotifyEvent);
begin    
  { This writer method adds the Value parameter to both the AfterPost 
   and AfterDelete events of the temporary items table. This ensures
   that whenever the data changes, the event handler will get called. }
  
  tblTempItems.AfterPost   := Value; //这句话不明白是什么意思?
  tblTempItems.AfterDelete := Value;
end;TDataSetNotifyEvent是代表一个函数吗?  那么这个函数在什么时候触发,他接收
什么样的消息?

解决方案 »

  1.   

    Value是TDataSetNotifyEvent类型的事件过程,那两句是给 tblTempItems的AfterPost和AfterDelete事件指定过程,让事件发生时执行Value过程。
    在帮助里你可以看到TDataSetNotifyEvent是一个过程类型(这是Delphi里一种特殊类型)
    type TDataSetNotifyEvent = procedure(DataSet: TDataSet) of object;—————————————————————————————————
    宠辱不惊,看庭前花开花落,去留无意;毁誉由人,望天上云卷云舒,聚散任风。
    —————————————————————————————————
      

  2.   

    事件函数传递
    当tblTempItems的OnAfterPost/Delete事件触发时,调用TDataSetNotifyEvent所指向的函数
    其实就是函数指针的复制
      

  3.   

    事件发生时执行Value过程。 “我该如何实现这个过程呢??”
    不知道这样可不可以,我把  tblTempItems.AfterPost := 一个一般的过程;
    这样不是也和那样的功能是一样的吗?这样做有什么好处没有?