小编Ant*_*ony的帖子

在暴露给COM的类库中引发事件

我正在尝试为服务编写一个包装器,它将由现有的VB6项目使用.我有大部分基本框架工作,除了一个重要方面:我可以在VB6项目中引用包装器和子/函数调用等按预期工作,但事件不会.这些事件在VB6应用程序中可见,但它们从未触发过.

VB.NET代码:

Public Event Action_Response(ByVal Status as String)
Public Function TestEvent()
    RaiseEvent Action_Response("Test Done")
    Return "Done"
End Function
Run Code Online (Sandbox Code Playgroud)

VB6代码:

Dim WithEvents my_Wrapper as Wrapper_Class
Private Sub cmdTest_Click()
    Set my_Wrapper = New Wrapper_Class
    Debug.Print my_Wrapper.TestEvent() 
End Sub

Private Sub my_Wrapper_Action_Response(ByVal Status As String)
    Debug.Print Status
    Set my_Wrapper = Nothing
End Sub
Run Code Online (Sandbox Code Playgroud)

因此,cmdTest按钮代码按预期打印"完成",但不会触发Action_Response事件.我还需要做些什么来让事件发生吗?

vb.net vb6 com interop

1
推荐指数
1
解决办法
3307
查看次数

标签 统计

com ×1

interop ×1

vb.net ×1

vb6 ×1