哪个更好:COM DLL还是带有Typelib的标准DLL?

6
我在引号中使用“更好”是因为这是一个定性问题。我已经写了几年COM DLL,最近才接触并成功使用了标准DLL和Typelib的概念。
有没有什么强制性的理由要使用COM DLL而不是DLL+Typelib?当然,你不能用DLL+Typelib做DCOM,但那是唯一的原因吗?
编辑:我用Visual C/C++ 6、Compaq Visual Fortran、Delphi、Visual BASIC 6、ActiveState Perl等写过COM DLL,也用Visual C/C++ 6、Delphi、Ada等写过标准DLL。我为自己的一些标准DLL和第三方DLL编写了类型库。这个问题最初是在Delphi DLL+Typelib重新实现VB6原始代码的情况下提出的。

你用什么语言写的?是C++吗? - Scott Langham
2个回答

3

如果您将来想要将COM组件迁移到托管代码中,或者让托管代码与COM组件交互,TypeLib也非常重要。

使用Typelib时,有很多工具可以自动将您的COM签名转换为.Net接口和类型。虽然可以手动完成此操作,但对于大型项目来说,这无疑是一个巨大的时间节省器。


Typlib比.NET早很多,它们在许多其他环境中使用,例如VB和在某些情况下甚至是C++/ATL。 - Rob Walker

0

我认为这真的取决于组件的客户端。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接