【发布时间】:2011-05-11 09:21:25
【问题描述】:
我有一个使用 Visual Studio 6.0 开发的进程外 COM 服务器可执行文件,它在过去 10 年中一直运行良好。现在我将此项目转换为 Visual Studio 2010 并遇到了 GetInterfaceFromGlobal() 的问题。
我正在使用 GIT 来保存指向我的每个 COM 客户端的 IDispatch 指针,以便我可以从进程外 COM 服务器向它们发送事件。经过调试,我发现的原因是没有。 m_vec.Getsize() 返回的连接数为 4 而不是 1。即使我只添加一个客户端,该值也为 4。我检查了 ATLCOM.h 并在该文件中的 _DEFAULT_VECTORLENGTH 从 1 更改为 4最新版本。
#ifndef _DEFAULT_VECTORLENGTH
#define _DEFAULT_VECTORLENGTH 4
#endif
关于如何覆盖此值的任何建议?我应该在我的代码中简单地将其重新定义为 1 吗?这会有什么副作用吗?还是我错过了什么?
提前致谢 哈里什
【问题讨论】:
标签: c++ visual-studio-2010 com atl