0

我一直在阅读Essential COM,这是一本非常好的书,非常有启发性且易于理解。现在我想加快速度并实现一个简单的 COM 对象,将其编译为 .dll,最后从客户端应用程序中使用它。

如果有人能展示如何做到这一点的最基本示例,我将不胜感激?

我一直在一步一步地尝试这个,但是除了发现一些错误之外,我无法让它工作。原因是我创建了一个简单的 Win32 应用程序,我从头开始编写 COM(如一步一步所示)并且无法编译/链接(很多错误),我一定是忘记了一些配置或一些包含在 stdafx.h 或其他内容中。

我正在使用 Microsoft Visual Studio .Net 2003 使用 Visual C++

提前致谢!

4

1 回答 1

1

最无摩擦的方法之一是使用向导生成的解决方案之一,特别是 VS 2008 中的“ATL Project”向导(不确定 2003 年)。当询问您想要的服务器类型时,您只需选择“DLL”,然后您就会得到一个非常有用的 COM DLL 框架来填写您的代码。

提示:要添加新的 COM 接口和 coclass,最简单的方法是转到 Class View,右键单击项目,然后选择 Add->Class...,然后选择“ATL Simple Object”并回答向导问题.

编辑:回答 Toto 在评论中的附加问题(如何创建客户端以使用新创建的 COM DLL),答案是“这取决于语言”,因为您在这里有很多选择。您可以使用 VB(“添加引用”)、C#/VB.NET(“添加引用”、COM 选项卡)、VBScript (WScript.CreateObject),当然也可以使用 C++。简而言之,在 C++ 客户端中,您需要包含服务器的 IDL 并链接到服务器的 LIB 文件。

于 2009-02-27T23:07:28.400 回答