【发布时间】:2011-04-01 12:55:07
【问题描述】:
我想设计 Delphi 插件框架。共有三个选项:
1. DLL
2. BPL
3. COM接口
每个选项都有一些缺点。
DLL - MDI 应用程序出现问题,来自插件的表单无法嵌入到主机 exe - mdi 应用程序。
BPL - 每个 *.bpl 插件和 *.exe 宿主应用程序必须使用相同版本的 Delphi 编译。
COM - 接口 {xxx-xx-xxx-xx} 必须在系统中注册,(regsvr) 所以插件框架不能移植!
我上面写的一切都是真的吗?如果不是,请纠正我,或者还有其他可能吗?
谢谢
【问题讨论】:
-
COM接口不是需要注册的。如果您知道实现 DLL 在哪里,您可以加载它并直接调用它的 COM 相关函数。无需让操作系统为您执行此操作。这使得它在两者的意义上都具有可移植性:您可以在其他操作系统上编译代码,也可以将程序放在 USB 驱动器上并随时随地运行。
-
我只阅读了几篇关于 COM 接口的文章。不过,从他们那里,所有的 COM 接口都必须在系统中注册。我需要可移植的应用程序,因此我拒绝了 COM 编程。但看起来,它是可以移植的。谢谢。我必须更深入地研究 COM 技术;)
标签: delphi com dll interface bpl