我一直在读Essential COM,这是一本非常好的书,非常有教育意义,也很容易理解。现在,我想加快速度,实现一个简单的COM对象,将其编译成.dll,最后从客户端应用程序使用它。
如果有人能展示一下如何做到这一点的最基本的样本,我将不胜感激。
我一直在尝试使用this step by step,但除了发现一些错误之外,我无法使其正常工作。原因是我创建了一个简单的Win32应用程序,我从头开始编写COM代码(如分步所示),编译/链接失败(很多错误),我一定是忘记了一些配置或stdafx.h中的一些包含内容。
我正在使用Microsoft Visual Studio .Net 2003在Visual C++中工作
提前感谢!
发布于 2009-02-27 23:07:28
最顺畅的方法之一是使用向导生成的解决方案之一,特别是VS2008中的"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文件。
https://stackoverflow.com/questions/596809
复制相似问题