【问题标题】:Building with runtime packages. Which BPLs are needed?使用运行时包构建。需要哪些 BPL?
【发布时间】:2018-07-05 15:31:15
【问题描述】:

我想用“链接运行时包”来编译我的程序。
它告诉我我需要一些与数据库相关的软件包。但我不在我的程序中使用 DB。

如何确定需要哪些 BPL?
有某种依赖项查看器吗?

【问题讨论】:

  • 这是两个问题。第一次尝试:docwiki.embarcadero.com/RADStudio/Berlin/en/…。当然,IDE>Project>Information For Whatnot 至少从 D6 开始就拥有所有这些信息,但我现在知道如何复制它。
  • @FredS 我没有看到两个问题。我看到一个问题以几种不同的方式提出。
  • @Jerry Dodge,第二个的答案是使用详细地图文件或 MMX。

标签: delphi c++builder


【解决方案1】:

我希望有更复杂/用户友好的依赖项查看器可用,但您可以使用 Delphi 附带的 TDump.Exe 实用程序来执行此操作。例如。从包含文件夹中的 CMD 行

tdump dbgrids2.bpl > dump.txt & notepad dump.txt

然后在结果的导入部分中搜索条目。

【讨论】:

  • 它不是依赖查看器,但总比没有好。谢谢。
【解决方案2】:

如果您使用GExperts(RAD Studio IDE Expert),另一个好工具是此工具中包含的“PE 信息”。在 IDE 中,您可以获得 EXE/BPL/DLL 的依赖项(BPL 和 DLL)。以及有关必要页面的其他信息。

如果你在这个工具上选择和EXE,你可以得到这样的结果:

【讨论】:

  • 注意:该程序不可靠。我在 PEInfo 和 Process Viewer 中都打开了一个程序,但 PEInfo 无法显示该程序加载的 BPL。
【解决方案3】:

我是如何“解决”这个问题的:

与运行时包的链接:
在“项目选项”中,我将所有 BPI 放在“包->运行时包->运行时包导入库”中。 BCB 只会链接实际需要的 PBL。
BPI 也必须添加到项目中(只需将其拖放到 ProjectManager 中)。

分布:
当您在表单上放置一个新控件时,它驻留在不同的 BPL 上,您需要将该 BPL 也添加到您的分发包中。如果您忘记分发 BPL,程序将崩溃并烧毁。所以,测试很容易。只需运行应用程序。

依赖查看器
作为依赖查看器,我使用了“项目信息”,但这是有限的。流程资源管理器要好得多。

就是这样。我做了一个测试,效果很好。
链接:http://docwiki.embarcadero.com/RADStudio/Tokyo/en/Loading_Packages_in_an_Application

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-04-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-11-30
    • 1970-01-01
    • 2014-12-19
    相关资源
    最近更新 更多