环境:VS2008,C++ ATL COM,64Bit,Windows 7
我正在尝试从较旧的 COM 接口中删除一个方法。我修改了 *.idl,修改了相关的 *.h 和 *.cpp 实现文件,并将其从主项目的 .h 文件中删除。我可以在整个项目中搜索旧方法名称 - 不显示并且编译/链接很好。但是,如果我随后使用对象浏览器查看已编译的 DLL - dang 方法仍然存在!如果我在 .NET 项目中“引用”DLL - 显示该方法。如果 .NET 代码尝试使用该方法 - 它会出现内存异常(这是有道理的)。我一辈子都想不出如何修改 IDL、删除方法代码并让生成的编译 DLL 正确。
该方法到底隐藏在哪里,是否有其他方法可以从现有的 ATL 生成的 COM 接口中删除方法?我难住了!谢谢!