起步软件技术论坛-X3

 找回密码
 立即注册
搜索
查看: 80|回复: 3

【搞定】[请求]业务功能中如何捕获业务信息数据集事件?**

[复制链接]
发表于 2007-12-14 16:39:57 | 显示全部楼层 |阅读模式
业务功能中捕获业务信息数据集BeforeEdit事件提示没有足够的参数:
捕获事件代码:
ProjectInfo.TProjectInfo(DocViewProjectInfo.Doc).DataSetProjectInfo.BeforeEdit:= DataSetBeforeEdit;        
事件定义代码:
procedure DataSetBeforeEdit(Sender:TDataField);
错误提示:
[错误]Biz:\OPERATION\AMCPMS\XMGL\PROJECTINFOMANAGER.FUNC.DIR\MainForm.Form.pas(78, 93): Not enough actual parameters
回复

使用道具 举报

发表于 2007-12-14 17:14:40 | 显示全部楼层
用数据集代理TDataSetBroker。
回复 支持 反对

使用道具 举报

发表于 2007-12-14 17:22:23 | 显示全部楼层
数据集DataSet的BeforeEdit事件应该对应这样的函数类型
property BeforeEdit: TDataSetNotifyEvent;
type TDataSetNotifyEvent = procedure(DataSet: TDataSet) of object;

of object表示这个函数必须是定义在类中的函数,而不是不同的函数
类似
type
  TA =  class
  public
    procedure DataSetBeforeEdit(DataSet: TDataSet);
  end;
或者你实在是不愿意定义在类中,也可以定义成
procedure DataSetBeforeEdit(Sender: TObject; DataSet: TDataSet);

of object就是表示在函数中第一个参数是Sender,表示是这个函数属于哪个对象实例
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-12-15 10:12:07 | 显示全部楼层
谢谢,问题解决,结账
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2025-7-2 18:41 , Processed in 0.038320 second(s), 15 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表