我一直在阅读Essential COM,这是一本非常好的书,很有启发性,也很容易理解。现在我想加快速度并实现一个简单的COM对象,将其编译成.dll,最后从客户端应用程序中使用它。
如果有人能够展示出如何做到的最基本的样本,我真的很感激?
我一直在尝试使用this step by step但是,除了发现一些错误之外,我无法让它发挥作用。这样做的原因是我创建了一个简单的Win32应用程序,我开始从头开始编写COM(如逐步显示)并且无法编译/链接(很多错误),我必须忘记一些配置或一些包含在stdafx.h或其他任何内容中。
我使用Microsoft Visual Studio .Net 2003
在Visual C ++中工作提前致谢!
答案 0 :(得分:1)
最无摩擦的方法之一是使用向导生成的解决方案之一,特别是VS 2008中的“ATL项目”向导(不确定2003年)。您只需在询问所需的服务器类型时选择“DLL”,并留下一个非常有用的COM DLL骨架,在那里填写您的代码。
提示:要添加新的COM接口和coclass,最简单的方法是转到类视图,右键单击项目,然后选择Add-> Class ...,然后选择“ATL Simple Object”和回答向导问题。
编辑:在评论中回答Toto的其他问题(如何创建客户端以使用新创建的COM DLL),答案是“它取决于语言”,因为你有这是一个巨大的选择。您可以使用VB(“添加引用”),C#/ VB.NET(“添加引用”,COM选项卡),VBScript(WScript.CreateObject),当然还有C ++。简而言之,您需要从C ++客户端包含服务器的IDL并链接到服务器的LIB文件。