怎样才能响应在Dll里面动态创建控件的事件 ?(50分)

  • 主题发起人 主题发起人 rovedream
  • 开始时间 开始时间
R

rovedream

Unregistered / Unconfirmed
GUEST, unregistred user!
在Dll里面动态创建的Spcomm怎样响应OnReceiveData事件<br>用 Comm1.OnReceiveData:=DoReceiveData;语句总是提示出错<br>DoReceiveData与OnReceiveData事件响应函数一样<br>procedure DoReceiveData(Sender: TObject; Buffer: Pointer;<br> &nbsp;BufferLength: Word);<br><br>如果将动态创建的TComm用一个类封住起来,则可以将事件处理函数赋给方法指针,但采取这种方法,我怎么发送数据,访问其他方法,属性呢,要另写方法对Comm进行操作吗?有这方面的收发数据完整例子提供吗?<br>========================= <br>type<br> &nbsp;TComControl = class(TObject)<br> &nbsp;private<br> &nbsp; &nbsp;Comm1: TComm;<br> &nbsp; &nbsp;procedure DoReceiveData(Sender: TObject; Buffer: Pointer; BufferLength: Word);<br> &nbsp;public<br> &nbsp; &nbsp;constructor Create(ComPort: string);<br> &nbsp; &nbsp;destructor Destroy; override;<br> &nbsp;end;<br><br>constructor TComControl.Create(ComPort: string);<br>begin<br> &nbsp;inherited Create;<br> &nbsp;Comm1:=TComm.Create(nil);<br> &nbsp;Comm1.CommName:=ComPort;<br> &nbsp;Comm1.OnReceiveData:=DoReceiveData;<br>end;<br><br>destructor TComControl.Destroy;<br>begin<br> &nbsp;if Assigned(Comm1) then Comm1.Free;<br> &nbsp;inherited;<br>end;<br><br>procedure TComControl.DoReceiveData(Sender: TObject; Buffer: Pointer; BufferLength: Word);<br>begin<br> &nbsp;//处理<br>end; <br> <br>如果这样怎样发数据呢?怎样访问原方法,属性呢
 
没有人知道吗<br>在线等
 
随便写一个类,将事件写在这个类里面
 
接受答案了.
 
后退
顶部