如何从使用包的项目中查找和删除未使用的Delphi运行时包?
我有一个由几个软件包组成的Delphi项目,在软件包的require部分中列出了几个Borland / 3rd party软件包(rtl.dcp,vcl.dcp等)我知道我需要它们中的大部分,但有一些我知道我不需要随着时间的推移,可能是一个组件使用它们一次,但后来该组件被删除,或者可能是我测试代码。
如何找出哪些是必需的,哪些不是?如果不需要它们,它们是否仍需要与最终应用程序一起分发,或者对应用程序的大小/内存要求有任何影响?
我试图尽可能精简。
答案 0 :(得分:5)
如果指定要用作runime包的包,那么包所需的所有包也需要部署为运行时包。 Delphi的编译器会自动检查是否是这种情况。所以你不需要明确要求rtl.dcp,只要你需要一个其他的包。这意味着您只能指定您确定需要的运行时包,其余的将由编译器添加。然后,您只需要检查最终需要部署的软件包。
答案 1 :(得分:1)
ICARUS - 我认为它只适用于.pas文件,但只是检查过......也适用于包装!自由。 http://peganza.com/#ICARUS
Pascal Analyzer - 比ICARUS提供的更多测试,而不是免费的。 http://peganza.com/#PAL
答案 2 :(得分:0)
我收到了一个我没有隐式调用的包的编译错误,并且无法弄清楚如何摆脱。我问我的导师,并得到了以下解决方案,效果很好。
“您可以使用.dpr文件删除.dproj并打开应用程序(通过RAD)。进行构建并保存。然后您应该有一个.dproj,其中包含您在Delphi中加载的软件包的引用。” (而不是它从以前的版本中记得的内容)