gpt4 book ai didi

c++ - cocreateinstance 成功后访问 COM 方法失败

转载 作者:塔克拉玛干 更新时间:2023-11-03 07:37:35 26 4
gpt4 key购买 nike

在 coInitialize 和 cocreateinstance 成功后(COM 服务器注册是完美的)。当我访问类中的方法时,它返回错误:“XYZ.exe (OLEAUT32.DLL) 中的第一次异常:0xC0000005:访问冲突”。

一步步调试发现调用时报错

// make the call
SCODE sc = m_lpDispatch->Invoke(dwDispID, IID_NULL, 0, wFlags, &dispparams, pvarResult, &excepInfo, &nArgErr);

在 OLEDIST2.CPP 文件中。

请帮忙

最佳答案

感谢您的宝贵时间。

问题在我这边解决了。

问题在于将 COM 服务器的类型库 (tlb) 导入我的客户端应用程序。因此,对象得到一个损坏的指针。当调用成员函数时,它会给出 ACCESS VOILATION 错误。

我实际上使用“CLASS WIZARD”在我的 Visual C++ 应用程序中导入了类型库,如@MSDN 链接所述: http://msdn.microsoft.com/en-us/library/aa279228(VS.60).aspx这实际上导致了上述问题。

后来我发现通过使用简单的#import "xyz.tlb"导入类型库它生成两个文件 .tlh 和 .tli 文件,其中还包含所有类和成员函数定义。当我在我的项目中使用这些文件时,它起作用了。

抱歉打扰了......

感谢和问候桑迪普河

关于c++ - cocreateinstance 成功后访问 COM 方法失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/785271/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com