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