CJ7*_*CJ7 5 vb6 events module class
我试图在VB6模块中声明一个变量,如下所示:
Public WithEvents MyObject As MyClass
Run Code Online (Sandbox Code Playgroud)
帮助文件说WithEvents
只能在类模块中使用.为什么不能在.bas
模块中使用它?
我正在使用的遗留代码有一个在模块中全局声明的对象.我想添加WithEvents
到这个声明,但我需要保持对象全局,因为许多其他形式等引用该对象.如何以最小的代码中断实现这一目标?
编写一个接受全局对象作为参数的类并接收其事件.
' Class MySink
Private WithEvents m_oSink As MyClass
Friend Sub frInit(oSink As MyClass)
Set m_oSink = oSink
End Sub
Private Sub m_oSink_MyEvent()
'--- implement event
End Sub
Run Code Online (Sandbox Code Playgroud)
在.bas
模块中创建此类的实例.
Public g_oMyObject AS MyClass
Private m_oMySink As MySink
Sub Main()
Set g_oMyObject = New MyClass
Set m_oMySink = New MySink
m_oMySink.frInit g_oMyObject
End Sub
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
6024 次 |
最近记录: |