我们将所有包构建到同一输出目录。
该目录包括设计时和运行时包。
查看生成的BPL是否有办法确定包只是设计时间?
我希望能够从我的部署列表中过滤掉这些内容,因为我正在构建运行时包。
过去我已经构建了运行时包的自定义列表。我正在寻找自动化这个过程。
如果有特定于版本的答案,我们正在使用Delphi XE。
答案 0 :(得分:15)
使用GetPackageInfo
并检查pfDesignOnly
参数中的Flags
。
或者,如果您想跳过不必要的包含单元和所需包的枚举,请查看PackageInfoTable
中的SysUtils
(不幸的是,隐藏在实现部分中)。
答案 1 :(得分:2)
AFAIK,不是在没有分析BPL的imports
的情况下从外部看它是否对仅设计的IDE包有依赖性(例如,DesignIntf
)。您可以使用TDump
或DependencyWalker执行此操作。如果您想尝试使用应用程序加载包,也可以使用TOndrej的建议。
使用DependencyWalker快速检查我的系统上的一个仅设计软件包,显示:
此问题的常见解决方案(如图中的Virtual Treeview包中所示)是为设计时包添加D
后缀;一些组件集(如某些TurboPower组件,IIRC)也为运行时包使用R
后缀。