这是我的问题。我有VB6类FirstClass
。在SecondClass
我创建的FirstClass
实例:在VB6中处理事件:初始化
WithEvents fClass as FirstClass
...
Set fClass = New FirstClass
确定。同样在SecondClass
我有一个事件Initialize
- 这是FirstClass
的对象的一些事件(据我所知)。但是当我在这个事件中粘贴断点时,它不会触发。那么你能否向我解释为什么我不能参加这个活动,以及VB6中的事件处理如何工作。
请提问,如果我的英文不好理解我的想法
更新:
下面是从的Firstclass属性:
私有财产令IRPCAppMode_Application(右轴为对象)
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对象只在这行代码中设置, 就这样。我无法理解的是SecondClass中的初始化事件如何上升以及我们如何在课堂外设置私有财产。初始化的二等呼唤:
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
....
你可以添加更多的代码 - 特别是你必须处理事件的方法吗? –
本文给出了VB6 Event系统的一个很好的描述:http://www.developer.com/net/vb/article.php/1430631/Declaring-and-Raising-Events-in-Visual-Basic-6.htm –
你知道,这对我来说很难)但我试着解释。 FirstClass有一个私有属性让IRPCAppMode_Application(RHS As Object)。在这个属性中,我有一个“RaiseEvent Initialize”行。所以我猜如果我在SecondClass中创建FirstClass的实例并且在SecondClass中有Initialize的处理程序,它会触发?我对吗? – Viaches