[問題] 關於 C# 產生 VB6 元件的問題

看板C_Sharp (C#)作者 (小傑)時間14年前 (2011/06/09 16:41), 編輯推噓0(003)
留言3則, 2人參與, 最新討論串1/1
小弟目前的工作中 有一部分是使用 C# 製作給 VB6.0 開發用的 COM 元件 最近遇到的問題是 供應商提供一套在 "C#" 上開發的 SDK 而我把此SDK再包一層介面給 VB6.0 使用 結果 VB6.0 在執行時 直接跳 Run Time Error-- Automation Error 出來 而如果在 C# 中 , 使用此 SDK 是可以正常運作的 我的程式架構大致如下 [ComVisible(true)] [ClassInterface(ClassInterfaceType.AutoDual)] //指示如果完全沒有產生介面時,要向 COM 公開的介面所產生的類別介面型別。 public class MyClass { private VendorClass mTool; public MyClass() { mTool = new VendorClass(); } } 按照以上的寫法 並使用 regasm 註冊後 VB6.0 中可以看到 MyClass , 不過要產生 MyClass 的實體時 , 程式就跳 Run Time Error-- Automation Error 例如: Dim MyTool as MyClass Set MyTool = New MyClass ' 這裡就會跳 Run Time Error-- Automation Error 想請問有經驗的版友 有沒有什麼方法可以解決這個問題 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 220.128.231.175

06/11 16:09, , 1F
C# 編譯時目標平台有選X86嗎?
06/11 16:09, 1F

06/11 23:00, , 2F
有選X86 後來抓到問題了 因為廠商提供的只能用 3.5 Framework
06/11 23:00, 2F

06/11 23:00, , 3F
不支援4.0.....
06/11 23:00, 3F
文章代碼(AID): #1Dy8Sao7 (C_Sharp)
文章代碼(AID): #1Dy8Sao7 (C_Sharp)