我有一个后期绑定的COM对象(My.COMInterface
),它在完成处理时会引发一个事件。如何从VB6代码中使用该事件?
如果我是早期绑定,我会将我的COM对象声明为WithEvents,并编写一个普通的事件处理程序。如何使用后期绑定实现这一目标?
当前代码:
Dim comObject as Object
'Function to launch Process.
Public Function LaunchProcess() As Boolean
Set comObject = CreateObject("My.COMInterface")
LaunchProcess= comObject.CallProcess()
' Once this process has finished, it will raise an event
' called ProcessingFinished - how do I consume it?
End Function
我目前知道的唯一方法是编写一个C / C ++桥来处理事件,如this MSDN article中所述。我希望有一个更简单的方法!
答案 0 :(得分:3)
如果它是一个普通的COM对象,我在原生VB6中没有看到任何方法。
但是,如果对象是控件,则可以使用VBControlExtender
界面和ObjectEvent
事件。
答案 1 :(得分:1)
看看E. Morcillo的EventCollection Class v2.0 - Add event support to Collections。
应该做你想做的事情。