这是我的问题。我有 VB6 类FirstClass
。在SecondClass
我创建的实例中FirstClass
:
WithEvents fClass as FirstClass
...
Set fClass = New FirstClass
好的。同样在SecondClass
我有一个事件Initialize
- 这是FirstClass
' 对象的一些事件(据我所知)。但是当我在这个事件中粘贴断点时,它不会触发。所以你能解释一下为什么我不能参加这个活动,以及事件处理在 VB6 中是如何工作的。
如果我的英语不能很好地理解我的想法,请提出问题
更新:
这是 FirstClass 的财产:
Private Property Let IRPCAppMode_Application(RHS As Object)
Const METHOD_NAME As String = "IRPCAppMode_Application" 'DO NOT TRANSLATE
On Error GoTo ErrorHandler
Set mApp = RHS
Set m_objRPCProject = mApp.Project
Set m_objDataSet = m_objRPCProject.CurrentDataSet
RaiseEvent Initialize
...
我知道mApp对象只在这行代码中设置,仅此而已。我无法理解的是 Initialize Event 如何在 SecondClass 中上升,以及我们如何在课堂之外设置私有财产。在 SecondClass 中调用 Initialize:
Private Sub m_objTestMode_Initialize()
Const METHOD_NAME As String = "m_objTestMode_Initialize" 'DO NOT TRANSLATE
On Error GoTo ErrorHandler
Dim lLoop As Long
Set mRPCProject = m_objTestMode.Project
SetupAutoSaveTimer
SSTab1.Tab = 0
SSTab2.Tab = 0
Set m_objToolManager = m_objTestMode.mApp.ToolManager
Set g_objMonDrives = New clsMonDrives
Set g_objTrendMonDrives = New clsTrendDrives
……