0

我正在尝试查找我的应用程序中的哪个单元使用特定的 .dcu 。由于我不知道哪个单元是,我已重命名 dcu 以在编译器时生成异常:

[DCC 错误] F1026 - 找不到文件“IdThread.dcu”

有没有办法在我的项目中找到使用这个文件的单元?我知道这是一个与 Indy 相关的单元,但在我的项目中我没有任何 Indy 组件!

4

1 回答 1

0

作为最后的手段,您可以使用类似 grep 的工具在 DCU 内部进行搜索:例如,使用 build in windows findstr 命令:

findstr /ism "\<idthread\>" *.dcu

ObscureUnit.dcu
IdScheduler.dcu

将列出所有引用 IdThread 的 DCU。您可能需要检查库路径以及只有编译格式的单元可能有参考。

当然,IdThread 可以在您的项目使用的另一个单元使用的单元中使用。您可能需要递归地执行此操作。

注意:这可能不适用于 Unicode 版本的 Delphi,因为 findstr 不支持 Unicode,而且我不确定 dcu 中的引用是否使用 Unicode。如果是,请使用支持 Unicode 的 grep 版本,或使用 SysInternalsStrings实用程序从 dcu 文件中提取“可读”文本。

于 2013-10-23T21:50:54.937 回答