dll - 这是 "better": COM DLL or Standard DLL with a Typelib?

标签 dll typelib com

我将“更好”放在引号中,因为这是一个定性问题。几年来我一直在编写 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 接口(interface)和类型。这可以手工完成,但对于大型项目,它肯定会节省大量时间。

关于dll - 这是 "better": COM DLL or Standard DLL with a Typelib?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/194195/

相关文章:

c# - 如何确定通过实例化 COM coclass 启动的进程的 PID?

c++ - 如何将动态 dll 转换为静态库?

c# - 为什么 C# 编码字符串不能与 C++ DLL 一起使用

python - 如何从 python 调用 vala 构造函数? (使用 GObject 自省(introspection))

c++ - 获取指向现有 COM 对象的指针?

c# - COM DLL 依赖项中静态 DLL 数据的多个进程和拷贝

c++ - 将可执行文件运行到另一台电脑时出错

c++ - 使用 DLL 覆盖/修改 C++ 类

visual-studio-2008 - VS 2008 中的 Wrapper Assembly Key File 设置在哪里?

delphi - 新版本的第三方 COM DLL - 如何在 Delphi 中安装和保留旧版本?