我试图定位我的应用程序中的哪个单元使用特定的.dcu。由于我不知道哪个单元是哪个,所以我将dcu重命名为在编译器时生成异常:
DCC错误F1026 -文件未找到“IdThread.dcu”
有办法在我的项目中找到使用这个文件的单位吗?我知道这是一个印第相关的单位,但在我的项目中,我没有任何印第组件!
发布于 2013-10-23 21:50:54
最后,您可以使用类似grep的工具在DCU内部进行搜索:例如,在windows findstr命令中使用build:
findstr /ism "\<idthread\>" *.dcu
ObscureUnit.dcu
IdScheduler.dcu将列出引用IdThread的任何DCU。您可能需要签入库路径,并且只有编译格式的单元可能有引用。
当然,IdThread可以在项目使用的另一个单元中使用。您可能需要递归地执行此操作。
注意:由于findstr不支持Unicode,所以可能不适用于Delphi版本,而且我也不确定dcu中的引用是否使用Unicode。如果是这样的话,使用启用Unicode的grep版本,或者使用SysInternals Strings实用程序从dcu文件中提取“可读”文本。
https://stackoverflow.com/questions/19543407
复制相似问题