我正在尝试为服务编写一个包装器,它将由现有的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事件.我还需要做些什么来让事件发生吗?