8

我有一个后期绑定的 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++ 桥来处理事件,如本 MSDN 文章中所述。我希望有一个更简单的方法!

4

2 回答 2

3

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

于 2011-11-07T12:06:42.330 回答
1

查看EventCollection Class v2.0 - E. Morcillo 为 Collections 添加事件支持。

应该做你想做的和更多。

于 2011-11-07T13:57:18.260 回答