【问题标题】:Microsoft C++ exception: _com_error at memory locationMicrosoft C++ 异常:内存位置的 _com_error
【发布时间】:2011-10-20 15:22:32
【问题描述】:

我在 .Net 中创建了一个 COM dll 并在 Any CPU 下构建它。我在 Vcpp 代码中使用该 COM dll,但在创建对 COM 类的指针引用时出现 Microsoft C++ 异常:_com_error at memory location error。如果构建配置是 Win32,VCPP 代码工作得非常好,但是如果我将配置更改为 X64 模式,那么应用程序就会崩溃。

请帮忙

【问题讨论】:

    标签: com


    【解决方案1】:

    由于您使用的是所谓的进程中 DLL,因此您必须在程序中使用该 DLL 的 64 位版本。

    This question 讨论它。看来您必须使用 64 位 regasm 工具来注册您的 .NET DLL。

    【讨论】:

    • 无论是这个还是在代理进程中托管它。
    • 感谢您的帖子,使用 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 文件夹中。
    • @Haseena:请为此打开另一个问题。
    猜你喜欢
    • 1970-01-01
    • 2013-08-03
    • 1970-01-01
    • 2013-12-20
    • 1970-01-01
    • 1970-01-01
    • 2014-11-28
    • 2017-08-03
    • 2023-03-29
    相关资源
    最近更新 更多