【发布时间】:2011-12-23 12:33:11
【问题描述】:
我有一个后期绑定的 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 中所述。我希望有一个更简单的方法!
【问题讨论】:
-
+1。除了 MSDN 文章中描述的内容外,我不知道任何方法。您是否注意到文章中有关使用 VBScript 的部分?你可以有一个使用Microsoft Script Control 与VB6 通信的VBScript 桥。 VB6中使用脚本控件的教程msdn.microsoft.com/en-us/library/aa227421(VS.60).aspx
标签: vb6 event-handling late-binding