5

我想为我的宠物项目创建一个桌带 COM 对象。我对 COM 没有任何经验,快速搜索发现 ATL 会简化事情。我想知道今天是否有更好的方法来创建 COM 组件。在某种意义上更好的样板,使用 C# 而不是 C++ 以及您可能想到的任何其他东西。

4

4 回答 4

4

如果在客户端计算机上部署或依赖 .NET 框架安装对您来说不是问题,那么 C# 比 C++ 容易得多(尽管您可能必须在 C# 中重新声明接口、IID 等...,使用P/调用)。如果减少依赖是一个问题,那么使用 ATL 的 C++ 会更好。

于 2012-09-10T13:40:43.187 回答
2

只需在 C# 中创建它并作为 COM 组件公开,请参阅本指南:

http://msdn.microsoft.com/en-us/library/zsfww439.aspx

于 2012-09-10T13:12:51.310 回答
1

我会考虑 C++/ATL 的唯一原因是如果我要连接到任何 C/C++ 库。除了我想不出在 C# 上使用 C++ 的充分理由(假设你的技能水平在两者上是相当的)。

于 2012-09-10T13:13:54.917 回答
-1

我只能推荐 C++ 与 Microsoft 的 ATL 库结合使用。

我使用了一些用 C++ 编写的代码生成工具,它帮助我摆脱了很多样板代码。这个工具生成的代码产生了更多的 C++ 友好接口(比如在 Visual Studio 中#import 类型库时在 tlh/tli 文件中生成的代码。我的代码生成器生成类似的代码,仅用于 COM 服务器。

如果您有兴趣,请通过 web dot de 向 DerTopper 发送邮件。在主题行中添加“COM 代码生成器”之类的内容,这样您就不会通过我的垃圾邮件过滤器。

问候,斯图尔特

于 2012-11-17T23:51:16.560 回答