如何使用后期绑定的COM对象中的事件?

时间:2011-11-07 10:23:44

标签: vb6 event-handling late-binding

我有一个后期绑定的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中所述。我希望有一个更简单的方法!

2 个答案:

答案 0 :(得分:3)

如果它是一个普通的COM对象,我在原生VB6中没有看到任何方法。 但是,如果对象是控件,则可以使用VBControlExtender界面和ObjectEvent事件。

答案 1 :(得分:1)

看看E. Morcillo的EventCollection Class v2.0 - Add event support to Collections

应该做你想做的事情。