這是我的問題。我有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