[VB6 ] 有關 VB6 event handle 的問題

看板Visual_Basic作者 (歐塔基再現)時間19年前 (2006/03/22 01:52), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串1/1
我手邊有一個 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)
文章代碼(AID): #1483r0kp (Visual_Basic)
文章代碼(AID): #1483r0kp (Visual_Basic)