12

我想设计 Delphi 插件框架。共有三个选项:
1. DLL
2. BPL
3. COM 接口

每个选项都有一些缺点。

DLL - MDI 应用程序出现问题,来自插件的表单无法嵌入到主机 exe - mdi 应用程序。
BPL - 每个 *.bpl 插件和 *.exe 主机应用程序必须使用相同版本的 Delphi 编译。
COM - 接口 {xxx-xx-xxx-xx} 必须在系统中注册,(regsvr)所以插件框架不能移植!

我上面写的一切都是真的吗?如果不是,请纠正我,或者还有其他可能吗?
谢谢

4

5 回答 5

8

是的,你写的是对的。所有这些都有优点和缺点,问题是对你来说什么是重要的,你没有说你想做什么,所以我们不能告诉你怎么做。

一般来说,我会默认选择 BPL,如果您需要从非 Delphi 应用程序中使用它,则使用 DLL,并且仅在您确实需要时选择 COM。

另一种方法是不构建自己的,因为有几个可用的 Delphi 插件框架。

此外,此主题之前已在此处讨论过,请查看:

于 2010-08-20T08:11:13.650 回答
1

另一种可能性是具有脚本接口,例如使用PythonPascalscript。这种方法有很多优点,尤其是插件源也是可执行文件,便于调试和共享。

于 2010-08-20T09:22:07.193 回答
0

我会看看Remobjects 的Hydra

另一个候选者是PaxCompiler(脚本)和EControl Form Designer(表单设计器)的组合。

于 2010-08-20T10:00:46.243 回答
0

我们使用 DLL,即使只与 Delphi 应用程序一起使用。Dll 窗体嵌入在主窗体中,并使用 Tabs 而不是 MDI。为了使 DLL 正常工作,我们还使用共享内存管理器并使用运行时包构建:vcl、rtl 和我们自己的包。

于 2010-08-20T17:08:06.723 回答
0

你看过http://www.tmssoftware.com/site/tpf.asp

于 2011-11-05T17:41:35.340 回答