2011-08-05 33 views
1

我在.Net中創建了一個COM DLL,並將其構建在Any CPU下。我在Vcpp代碼中使用該COM DLL,但得到了Microsoft C++異常:創建COM類的指針引用時出現內存位置錯誤_com_error。如果構建配置是Win32,VCPP代碼工作得很好,但如果我將配置更改爲X64模式,那麼應用程序崩潰。微軟的C++異常:_com_error在內存位置

請幫助

回答

2

由於您使用的是所謂的過程 DLL,你在你的程序中使用該DLL的64位版本。

This question討論它。看來你必須使用64位regasm工具來註冊你的.NET DLL。

+0

要麼這或主辦它在代理過程。 – sharptooth

+0

感謝您的帖子,問題使用64位regasm解決。我有另一個查詢,並試圖做很多谷歌,但沒有成功。我在VCPP DLL(Active Directory DLL)中使用COM DLL,並且我給出的導入路徑是相對的(只有Comdll名稱),我在Tools-> Additional Include Directory中添加了絕對路徑。我將我的vcpp dll存儲在system32文件夾中,該文件夾調用存儲在「C:\ test」文件夾中的COM dll方法。我如何使tlb路徑動態?因爲我的VCPP DLL存儲在system32文件夾中。 –

+0

@Haseena:請爲此打開另一個問題。 –