使用VB6.0设计ActiveX DLL事件 (转)

使用VB6.0设计ActiveX DLL事件 (转)[@more@]

  我们知道在设计ActiveX DLL程序的事件直接使用以下方法定义就可以,例如:Public Event TracerView(IndexValue As Integer, KeyValue As String, TraceResults As String)就定义好了一个给EXE程序使用的事件。但我们也知道要使用事件必须有外部动作或定时器才能够触发,但是怎样在ActiveX DLL内部触发该事件呢?

  我搜索了许多网站的技术文章都没有能找到合适的处理方法,但经过自己的摸索找到了一个好的方法来处理这个问题。或许我太孤陋寡闻吧,我没有看到这方面的文章介绍;如果我下面写的内容有与别人的文章有雷同的地方,请不要认为我又抄袭之嫌。因为下面的内容的确是我摸索的结果。

1、首先我们应该定义好一个ActiveX DLL工程,设计一个类比如CLyPrinter类,并把Instancing的属性设为5—MultiUse;

2、在CLyPrinter类模块中添加事件,比如:Public Event TracerView(IndexValue As Integer, KeyValue As String, TraceResults As String);

3、在CLyPrinter类模块中添加一个Friend 方法,比如:Friend Sub CaptureView(IndexValue As Integer, KeyValue As String, TraceResults As String)在该方法中添加触发事件的代码RaiseEvent TracerView(IndexValue, KeyValue, TraceResults);

4、在ActiveX DLL工程内部添加一个窗体,比如:FGrid窗体;并在该窗体的代码模块中定义引用ActiveX DLL的CLyPrinter类的变量和Friend属性,比如以下这样定义:Private mInitRpt  As CLyPrinter;

Friend Property Get Document() As CLyPrinter
  'Dll工程类在工程内部使用方式
  Set Document = mInitRpt
End Property

Friend Property Set Document(ByVal vNewData As CLyPrinter)
  Set mInitRpt = vNewData
End Property

5、在FGrid窗体代码模块内部就可以使用CLyPrinter类的Friend、Public方法和属性,如:mInitRpt.CaptureView 0, mnuYayMenu.Item(0).Caption, mnuYayMenu.Item(0).Tag

  通过以上5步就可以在ActiveX DLL工程内部使用事件、方法和属性。

  如果有什么不同的做法请和我联系。EMail to Tsouan@hotmail.com

 


来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/10752019/viewspace-956090/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/10752019/viewspace-956090/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值