我需要能够在VB6中处理.NET事件。到目前为止,我已经通过使我的C#类COM可见来设置它。我的VB6对象可以很好地调用它的方法,但现在我需要一种从.NET到VB的通信方式。如果我在我的C#类中添加一个事件,.NET封装器似乎会添加add_EventName和remove_EventName,我假设这是订阅和取消订阅事件的方法。但是,当涉及到VB6和COM时,我还是个新手,不太确定如何使用它。
所以,oHost.add_EvalReceived这一行存在错误。
add_EventName似乎需要一个EventNameEventHandler,但是我该给它什么?我尝试了sub,但这给了我一个运行时错误。有人知道如何使用吗?以下是我所拥有的示例:
Private oHost As HostService.IHost
Private Sub Form_Load()
Set oHost = New HostService.Host
oHost.Start
oHost.add_EvalReceived EvalReceivedEventHandler
End Sub
Private Sub EvalReceivedEventHandler(ByVal sender As Variant, ByVal e As EvalReceivedEventArgs)
MsgBox "Eval Received in VB: " & e.Eval.TimeSent & ":" & e.Eval.FirstName & " " & e.Eval.LastName & " - " & e.Eval.Comments
End Sub
所以,oHost.add_EvalReceived这一行存在错误。