请教控件开发的问题(100分)

  • 主题发起人 主题发起人 xxhadsg
  • 开始时间 开始时间
X

xxhadsg

Unregistered / Unconfirmed
GUEST, unregistred user!
我开发一个控件:
TMyObj = class(TComponent)
private
FMyCom: TComm;
public
procedure ProcCommReceiveData(Sender: TObject; Buffer: Pointer;
BufferLength: Word);
...
然后在构造函数中
inherited create(AOwner);
FMyCom:=TComm.create(self);
//将TComm的事件重指向
FMyCom.OnReceiveData:=ProcCommReceiveData;

为什么事件不能引发?

如果从tcomm派生一个新类,事件怎么样重指向?

谢谢指教。
 
重载TComm的CREATE事件后再该事件中写OnReceiveData:=ProcCommReceiveData
建设改成
TMyCom = class(TComm)
...
public
procedure ProcCommReceiveData(Sender: TObject; Buffer: Pointer;
BufferLength: Word);


TMyObj = class(TComponent)
private
FMyCom: TMyCom;
public
...


TMyCom的CREATE
inherited create(AOwner);
OnReceiveData:=ProcCommReceiveData;


我认为这样更改应该可以,但没有做实验,你先试一下吧.
 
谢谢ygx_cn,我在窗体上建立控件并将控件的事件重指向一个过程没有问题,为什么在控科件中有问题呢?
 
参数应该对应吧
 
TComponent应该无法触发事件,很多TComponent有事件,一般附着窗口的。
 
JamesBond_L,不知道是不是你说的原因。TTimer可以这么使用。
 
谢谢各位,分分!笑纳[:)]
 
后退
顶部