我必須維護一箇舊的VB 6 ActiveX DLL,由另一個第三方程序調用,我沒有源代碼等等。這個DLL工作和編譯罰款對所說的程序的API約6年和3個主要版本。如何解決編譯VB 6程序時出現的「意外錯誤(32801)」?
但現在,當我嘗試編譯DLL對新的主要版本發生提到的錯誤。看起來錯誤發生在「我的」代碼被調用之前,所以沒有使用調試或日誌記錄。唯一的補救措施是編譯沒有實際選項的W/O二進制兼容性。我的谷歌搜索出現了相同的問題,但沒有解決方案的一些人。
有沒有人知道如何解決這個問題?
在此先感謝
萬歲
你已經推導出正確。我檢查了新版本的IDL。他們只是在一些有幫助的評論和增加一個新的界面方面有所不同。幫助字符串中的更改與此無關,但新接口又如何?我認爲添加新界面不會破壞二進制兼容性。如果是這樣,我將不得不打電話給暴徒,並將它們發送給我最喜歡的第三方供應商;-) ... – banzai
我不會認爲添加接口會導致任何問題。從閱讀鏈接聽起來像非常微妙的變化可能會導致此問題 - 如重新排序類型中的元素或對數據類型做出明顯無害的更改。 – MarkJ
我也是 - 如果這是錯誤的原因,那必須是一個非常微妙的變化。沒有重新排序或這樣,只有一個新的界面。我認爲FileSystemObject是一個不太可能的原因,因爲我的界面中沒有公共類型,創建對象是通過後期綁定來避免已知由舊版本IE和MS腳本庫導致的兼容性問題。因爲這只是一個編譯時問題,所以我將保持一切不變 - 針對較舊版本編譯的代碼可以與新的主要版本的調用應用程序一起運行良好。在這裏繼續努力。 – banzai