在前面的問題中,我試圖獲得一個C#類作爲VB5的COM對象運行。& 6.我確實設法讓COM對象與VB6應用程序一起工作,但是在使用VB5時遇到了問題 - 在同一臺機器上。C#COM組件適用於VB6,但不適用於VB5 - 這有什麼用?
作爲參考,以前的問題是HERE。
我的最終目標是讓這個COM對象適用於VB5,但是當它運行時它會拋出一個異常:運行時錯誤80070002.對Stackoverflow的研究表明HERE這個錯誤代碼是一個File not found異常。 VB6程序能夠在與VB5程序相同的機器上運行(相同的代碼),COM DLL已正確註冊(使用regasm.exe),TLB顯示在VB5中的引用列表中。正在執行的代碼是:
Dim arcom As ARCOMObject.ARCOM_Class
Set arcom = New ARCOMObject.ARCOM_Class
Dim s As String
s = arcom.GetServiceResponse()
MsgBox (s)
執行實例化類的行時拋出異常。
在其他地方我發現,特別是在上面提到的第二個SO參考文獻中,已經提出了使用utility.exe來查看可能缺失什麼依賴關係的建議。不幸的是,我無法在我的.Net開發機器和VB5機器上找到這樣的實用程序。我不知道這是否會告訴我任何東西,但...
那麼,什麼不能VB5看到,VB6要麼可以看到或不需要?
編輯補充:
重要的警告 - 因爲它扔了錯誤,而從IDE中運行我從來沒有建立可執行文件來運行它,但是當我終於長出了一槍這樣做因爲DependencyWalker需要它,所以我發現可執行文件本身工作正常!現在,DependencyWalker給我提示「警告:由於延遲加載相關模塊中缺少導出功能,至少有一個模塊導入未解析。」哇,這很酷,這句話究竟意味着什麼?大聲笑。
,無論如何,我不知道,我有需要的時刻解決問題,但任何建議,歡迎!
這可能會幫助:http://www.dependencywalker.com/ – 2011-04-28 17:44:02
這確實幫助,但不一定在預期時尚!查看我的問題的附加組件。 – Cyberherbalist 2011-04-28 18:10:07
谷歌搜索該錯誤消息拋出了幾命中提示錯誤可能是忽略不計(例如http://www.dependencywalker.com/faq.html),但如果你在Windows XP上運行它也許只有。 – 2011-04-28 18:15:17