问题标签 [bpl]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
5 回答
1972 浏览

delphi - 在程序启动时获取 BPL 版本

是否可以在程序启动时检查客户端计算机上安装了哪个版本的 BPL(即 Rtl70.BPL、Indy70.bpl 等)?

我有一些程序崩溃,因为那里计算机上的 BPL 与构建机器上的不同。
如果我必须在每次更新时将每个 BPL 添加到安装程序中,我认为它会破坏使用它们的要点之一。

Delphi 7,如果它有所作为


只是跟进我遇到的问题。
构建计算机和客户端之间的 rtl70.bpl 文件仅略有不同。

客户端计算机:7.0.4.453 760 KB(778,240 字节),2002 年 8 月 20 日,星期二,下午 4:40:26
构建计算机:7.0.4.453 760 KB(778,240 字节)‎周五,‎9 ‎2002 年 ‎8 月‎,‏‎11:晚上 30:00

我使用的更新程序忽略了它们是相同的(内部版本号没有变化),但是当我手动删除并复制文件时,一切似乎都有效。

0 投票
5 回答
3726 浏览

delphi - Delphi 项目需要运行时包,即使运行时包关闭

如果路径中没有一些运行时包,我的 Delphi7 项目将无法在我的客户端计算机上运行。例如 rtl70.bpl

我没有勾选运行时包的构建,所以不应该将它们编译到 exe 中吗?

编辑:该项目使用 Jedi Packages (TJvPlugin) 并且在没有安装任何插件的情况下运行该程序可以正常工作。一旦我添加了一个插件,bpl not found 错误就会再次出现。似乎我不得不忍受额外的包裹。

0 投票
3 回答
550 浏览

delphi - 分发带有第三方 UI 元素的设计时包

现在我正在学习更多关于组件开发的设计时间方面的知识,我有一些可能会变成针对 Delphi 2007 的 IDE“插件”(如果兼容,还有其他插件)。

理想情况下,这些表单/UI 将使用我经常使用的一些第三方组件。假设许可可以为 IDE 插件等分发这些组件,那么与对具有“完整源代码”的包所做的相比,我需要做些什么来准备分发包?

(我希望这个问题有意义。如果没有,请善待并提出问题)。

0 投票
1 回答
1789 浏览

delphi - Delphi - 应用程序的 .bpl 插件 - 加载 > 1 个插件时出现问题

我正在使用TJvPluginManager构建能够加载 .bpl 插件的简单应用程序。我在“uIntfs.pas”文件中有通用接口声明,这是一种 SDK ;)

问题是,如果我尝试加载多个插件,应用程序会抛出错误:

无法加载包“test2”。它 包含单元“uIntfs”,它也 包含在包“test”中

很明显,两个 bpls 都包含该文件,但是我需要让它工作......

请帮忙!

0 投票
5 回答
11162 浏览

delphi - Delphi 应用程序的插件系统 - bpl vs dll?

我正在编写 delphi 应用程序,它应该具有加载插件的能力。我正在使用 JvPluginManager 作为插件系统/管理器;)现在,在新的插件向导中,他们说最好使用 .bpl 类型的插件而不是 .dll 插件......这个解决方案与 dll 类型的插件相比有什么优点?到目前为止,我只发现了这个解决方案的缺点:

  1. 我必须将所有通用接口单元放在单独的包中,以便在加载插件时不会对包含通用单元的其他包抛出任何错误

  2. 如果,假设一个插件开发人员决定使用一些众所周知的单元(如突触),默认情况下没有运行时包,而第二个插件开发人员也这样做,而不是碰撞……它在这里崩溃了。 ..

那么,使用 bpls 而不是使用运行时包编译的 dll 实际上有什么优点呢?

提前致谢

0 投票
2 回答
531 浏览

delphi - Delphi:带有内置包的 .exe:600kb,.exe + 外部 BPL:6MB。这是为什么?

如果我用内置包在delphi中编译.exe文件,它会生成大约600kb的EXE文件。但是,如果我使用运行时包编译它,大小的总和(.exe + 所有必需的 .BPL)约为 6-8 MB(取决于编译器的版本)。为什么差异如此显着?

0 投票
3 回答
4504 浏览

delphi - 如何从可执行文件调用 bpl 中的 Delphi 函数?

我有一个 Delphi 应用程序,我为它编写了一个相当简单的包装器 .exe。

基本上,有一个 dll 有一堆函数,一旦我的包装器完成了它需要的操作,我就会迭代地调用其中一个函数。我无法控制这个 dll 文件,也永远不会。

好吧,现在这个 DLL 是一个 BPL,我不确定如何调用该文件中的函数。提前致谢。

0 投票
4 回答
2158 浏览

delphi - Delphi - 解开 BPL 中的名称

是否可以在 Delphi 中解开这些名称?如果是这样,我在哪里可以获得更多信息?

在 dbrtl100.bpl 中找不到某个条目的错误消息示例 我想知道它找不到哪个确切的函数(单元、类、名称、参数等)。

我知道这是 Dbcommon 单元中的 GetTableNameFromSQLEx 方法(我有带有 RTL/VCL 源的 Delphi),但有时我会遇到并非所有代码都可用的应用程序(是的,客户应该始终为第 3 方购买所有源代码东西,但有时他们不会)。

但是假设这是一个我没有代码的例子,或者只有接口文件(BDE.INT 任何人?)它有什么参数(即哪些潜在的过载)?它有什么返回类型?

对于任何 Delphi 版本,这是否相同?

——杰伦

编辑 1

感谢 Rob Kennedy:tdump -e dbrtl100.bpl 成功了。根本不需要-um :

编辑 2

感谢 TOndrej 发现了这篇德语 EDN 文章英文谷歌翻译)。那篇文章非常准确地描述了这种格式,应该可以创建一些 Delphi 代码来解决这个问题。

可惜作者提到的网站(和电子邮件)现在已经死了,但很高兴知道这个信息。

——杰伦

0 投票
2 回答
994 浏览

delphi - 获取 BPL 文件名

从 BPL 中,是否有可能获得自己的文件名?例如 C:\foo\bar.bpl

(动态加载和delphi7,如果重要的话)

0 投票
3 回答
832 浏览

delphi - 从另一个目录加载 BDE BPL

使用 Delphi 2010 和 BDE 的修补版本时,我在加载 BDERTL140.bpl 时遇到问题。

从另一个目录加载 DCLBDE140.bpl 然后通常工作正常。只有当我想加载 BDERTL140.bpl 时,它总是告诉我它已经从 Windows 系统目录加载。

哪些软件包加载了 BDERTL140.pbl,我怎样才能让它们加载我的修补版本而不是原始版本?我不想诉诸于覆盖原件。