2010-11-18 161 views
5

據我所知,我無法在64位進程中加載​​32位DLL。我有一個32位DLL(VB6組件),沒有源代碼,它被加載到Excel自動化宏中。我有什麼選擇?辦公室64位32位DLL

回答

3

64位上的32位加載項爲not supported

的哪個版本的建議:Microsoft recommends,除非你碰到一個32位進程的內存限制,這是唯一可能的,如果你需要處理的非常大的電子表格發生使用Office的32位版本Office 2010的安裝是如下:

  • 如果組織中的用戶依賴於現有擴展到Office,如ActiveX控件,第三方加載項,建立在以前版本的Office內部解決方案或與Office直接連接的32位版本的程序,我們建議您安裝32位Office 2010(默認安裝程序在運行32位和64位支持的Windows操作系統的計算機上運行。

  • 如果組織中的某些用戶是使用大於2 GB的Excel電子表格的Excel專家用戶,則他們可以安裝64位版本的Office 2010.此外,內部解決方案開發人員,我們建議讓那些開發人員可以訪問到Office 2010,讓他們可以測試和Office 2010的

的64位版本的更新您的內部解決方案的64位版本

如果您需要使用64位版本,因爲您有內存限制the following options

  • 如果你的源代碼,您可以生成自己的64位版本,

  • 您可以聯繫一個更新版本的供應商,

  • 您可以搜索替代方案。

但是實際上這是不本文由微軟在提到第四個選項:您可以創建一個32位將作爲您的64位宏之間的代理進程外-COM服務器和傳統的32位COM組件或創建一個COM +應用程序。樣本在這裏提供:

Accessing 32-bit DLLs from 64-bit code

+0

沒有64位編譯器VB6。 – Joshua 2010-11-18 21:18:39

+0

@Joshua:不,沒有。但是微軟的文章談到了這個問題的一般解決方案。 – 2010-11-18 21:27:32

+0

「從64位代碼訪問32位DLL」已經移動。我修復了這個鏈接。 – 2014-01-13 11:49:15