15
我有一箇舊的VB6項目,我試圖添加單元測試。我通過嘲笑對象打破了類的依賴關係。一切都很順利,直到我發現一些引發事件的依賴關係,現在我已經遇到了困難。VB6實現與事件
這裏是我想要做的是不工作一個簡單的例子:
ITab.cls:
Option Explicit
Public Event Click(tabNumber As Integer)
Public Sub SomeOtherFunction()
End Sub
clsRealTab.cls:
Option Explicit
Implements ITab
Public Event Click(tabNumber As Integer)
Public Sub ITab_SomeOtherFunction()
'code here'
End Sub
frmMain。 frm:
Option Explicit
Private WithEvents mTab as ITab
Public Sub Main()
Set mTab = New clsRealTab 'gives "Object or class does not support the set of events" error'
End Sub
Doe任何人都知道是否有辦法做出這樣的工作或另一種方式來處理這種情況?
我實現了一個我稱爲ITabEventsHandler
的回調接口。它看起來像這樣:
Option Explicit
Public Sub Click(intPreviousTab As Integer, objSSTab As Object)
End Sub
然後我說Implements ITabEventsHandler
我的形式,並通過形式爲ITabEventsHandler
參數我clsTab初始化。除了提出自定義的Click(...)
事件外,我可以致電mTabEventsHandler.Click(...)
。
感謝您的建議!
我想過做一個回調接口,它似乎會工作。 – 2009-07-31 17:22:41