[VB6 ] 有關 VB6 event handle 的問題
我手邊有一個 VB6 的程式,想動態處理一個外部的 VBA 物件。
如果用 VB.Net 來寫,我想做以下的事:
Dim oSomeObject as Object
...
On Error Goto SomeErrorHandler_
Set oSomeObject = CreateObject("SomeApplication.SomeClass")
AddHandler oSomeObject.SomeEvent, AddressOf OnSomeEvent
這段程式可以讓我以"我想要的方法"處理下列例外狀況:
1. 使用者的系統內可能沒有 SomeApplication。
2. CreateObject 後得到的 interface 因為版本問題,可能沒有 SomeEvent。
但是在 VB6 我不能用這樣的方法做:
Dim WithEvents oSomeObject as SomeApplication.SomeClass
因為:
1. 程式一開始就會想連結 SomeApplication.SomeClass,如果它不存在,
會連 run 都不行。
2. 就算找到了 SomeApplication.SomeClass,也可能因為 SomeEvent 不存在,還是
連 run 都不行。
請問有沒有人知道有什麼方法在 VB6 可以做到相同的事?
(我沒有辦法換成 .Net)
我的想法是如果 VB6 真的無解的話,我會選擇用別的語言另外寫一個 COM 物件
把 SomeApplication.SomeClass 事先包成 MyClass,並且由它處理上述問題。
如此 VB6 就可操作一定存在,而且介面固定的 MyClass。
只是因為有點麻煩想掙扎一下 >"<,謝謝。
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 59.105.163.2
※ 編輯: otaky 來自: 59.105.163.2 (03/22 02:37)
Visual_Basic 近期熱門文章
PTT數位生活區 即時熱門文章