COM里抛出一个事件,可是VB里怎么调用啊?PS:COM的dll是用.net2005写的,函数和属性都已经正常调用成功,只剩下事件了
解决方案 »
- sendMessage/postmessage 代码不执行
- 求助csdn兄弟,帮我投一下票,到这个不适合拉票的地方拉票,马上给分~~~
- 请问sub过程与function过程?
- 关于卸载再重新加载窗体的问题
- 求救,急,请帮帮忙,怎么在VB中用代码实现创建一个新的数据库,再再数据库中创建新的表,并向表中添加数据??
- 有关在ftp程序中取得服务器端目录速度极慢的问题,请诸位帮忙解决,先谢了
- 求全角半角转换,比较的函数或办法!
- vb 与access2000连接
- 关于api的问题
- 做OCX时出现的错误,生成不了!请问如何解决?
- NiceForm.OCX控件打包使用问题
- Unload Form1.VerPic(i) 和 Load Form1.HorPic(i)
如:
Sub Encode(Destination() As Byte, Source() As Byte)
首先,定义一个Interface,里面有一个和事件相同参数和名称的方法(例子里是PersonEvents),指定如下的属性Public Delegate Sub PersonEventHandler( ByVal name As String )' 下面的声明是指定为IDispatch接口
<InterfaceTypeAttribute(ComInterfaceType.InterfaceIsIDispatch)> _
Public Interface PersonEvents
Sub NameChanged( ByVal name As String )
End InterfacePublic Class Person Public Event NameChanged As PersonEventHandler
....
End Class
然后用ComSourceInterfaces属性指定Class的Interface
Public Delegate Sub PersonEventHandler( ByVal name As String )<InterfaceTypeAttribute(ComInterfaceType.InterfaceIsIDispatch)> _
Public Interface PersonEvents
Sub NameChanged( ByVal name As String )
End Interface<ComSourceInterfaces("DotNetCOMTest.PersonEvents, DotNetCOMTest")> _
Public Class Person Public Event NameChanged As PersonEventHandler
ComSourceIntarfaces属性値的参数有两个,第一个是指定事件处理的Interface名,第二个是Interface存在的Assembly名