我需要構建將被用來作爲一個插件對於一些外部VB6.0應用Vb6.0如何將一個函數/子過程作爲事件處理程序綁定到外部事件?
這OCX包含應該爲事件處理工作的一些外部事件的若干個子程序VB6.0 OCX (外部到ocx)。
問題是,使用此ocx的用戶只會調用一次我的ocx子程序中的一次。問題是,在這個一次初始化過程中,我如何將所有子處理函數/函數綁定到它們各自的外部事件,以便我們的過程在事件觸發時被調用?
我管理到外部應用程序本身內做到這一點,但不是當我移植這些代碼OCX,並用它作爲插件在外部VB程序
讓我們說這是在外部動原來的事件處理程序應用:
Private Sub someExternalControl1_someEvent(someParameter as boolean)
MsgBox ("The original event handler")
End Sub
,並在VB應用程序,如果我這樣做:
dim withevents aaa as someExternalControl
set aaa = someExternalControl1
那麼這個自定義事件處理程序也將被稱爲每次與原沿事件觸發事件處理程序如上所述
Private Sub aaa_someEvent(someParameter as boolean)
MsgBox ("The custom event handler")
End Sub
但我不能使相同,當我把這個在OCX。因爲我做不到:
Public WithEvents ocxMyPlugin As VBControlExtender
...
Set ocxMyPlugin = Controls.Add("myprogID.usercontrolname", "somename", Me)
Set ocxMyPlugin.object.someExternalControl2 = someExternalControl ' this will raise error
你會得到什麼錯誤?是否someExternalControl2公開? someExternalControl是什麼類型。 – AnthonyWJones 2009-11-04 08:06:02
someExternalControl2的類型實際上是一些外部控件,實際名稱是TesterControl。 – tensaix2j 2009-11-04 08:09:59
然後您可能需要在您的項目中引用TesterControl。 – 2009-11-04 08:14:23