问个跨单元访问事件成员的问题??

farfh 2004-03-02 05:28:23
我希望实现这样一段,假设有数个Edit:e1,e2,e3,我想它们共同使用一个事件函数OnKeyPress,
起初我直接在另外一个单元中声明一OnKeyPressEdit的函数,声明如下
procedure OnKeyPress1(Sender: TObject; var Key: Char);
现在我使用e1.OnKeyPress:=OnKeyPress1;
编译不通过。后来我将OnKeyPress1声明到一个类中,声明如下:
TCFEDIT=class(TObject)
private

e:array [1..5] of TCustomEdit;
public

procedure OnKeyPress1(Sender: TObject; var Key: Char);
procedure OnKeyPress2(Sender: TObject; var Key: Char);
procedure OnKeyPress3(Sender: TObject; var Key: Char);
procedure OnKeyPress4(Sender: TObject; var Key: Char);
procedure UpdateControl;
procedure SetSTR(ISRC:string);

function GetSTR:string;

constructor Create(pe1,pe2,pe3,pe4:TCustomEdit);
destructor Destroy;override;
end;

然后声明一TCFEDIT类型的变量cfe;
现在使用e1.OnKeyPress:=cfe.OnkeyPress1;
编译通过。
但是,问题产生在这里,我试图在构造函数里面使用OnKeyPress,却始终说我没有声明,示意代码如下:

constructor TCFEDIT.Create(pe1,pe2,pe3,pe4:TCustomEdit);
begin
pe1.OnKeyPress:=OnKeyPress1;
end;

编译时候始终报错说OnKeyPress没有声明,我想来想去都不明白,后来我把TCFEDIT声明为TWinControl类的继承类,一样不成,百思不得其解,请问各位delphi高手,可有办法解决???(利用以上的方法,仅就访问事件而言,不是指控件子类化之类的哈^_^)
...全文
34 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复

5,392

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧