【发布时间】:2013-01-21 15:15:55
【问题描述】:
我们可以使用 dcu 像 dll 这样的运行时吗?例如,显示在 dcu 文件中编译的表格。我有这个问题,因为我想开发可插入的应用程序。作为 Delphi 程序员,据我所知,我只有两个选项可以做到这一点,基于 dll 或基于 bpl。我喜欢基于 dll 的,因为它不依赖于 delphi 版本,但是.. 将表单保存到几个 dll,使每个 dll 都有很大的大小,并且它的总大小比单个 .exe 大得多。使用 bpl,它取决于编译 bpl 和 exe 的 Delphi 版本。
或者有人可以解释一个技巧或策略,以便使保存表单的 .dll 变得尽可能小吗?谢谢!
【问题讨论】:
-
DCU 也依赖于版本,所以不会有任何收获。
-
DLL 是你想要的,但你应该避免在 DLL 中使用 VCL。您的程序应该公开您希望插件调用的 VCL 功能,并通过接口公开它。大量样板,但它远离 BPL 地狱。
-
您可以使用使用运行时包编译的 dll。
-
编译器类型更改后的样板文件和故障负载,例如 char、PChar 和字符串的歧义性质。要使用 DLL 和接口,应该依赖于 COM 中标准化的数据类型,即使不使用 COM 基础结构本身。
-
@Torbins 也使 dll 版本依赖。