我在引号中加上"更好",因为这是一个定性问题.我已经编写了COM DLL几年了,并且最近才成功使用了Typelib概念的标准DLL.
是否有任何令人信服的理由使用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编写了类型库.这个问题最初是在一个VB6原创的Delphi DLL + Typelib重新实现的上下文中编写的.
如果您希望将来将 COM 组件迁移到托管代码,TypeLib 也很重要。或者让托管代码与 COM 组件交互。
通过 typelib,有很多工具可以自动将您的 COM 签名转换为 .Net 接口和类型。这可以手动完成,但对于大型项目来说,这无疑可以节省大量时间。