如何查看哪个单元使用了另一个单元的层次结构?(Delphi)

3

有一个大型项目,我需要查看每个文件在其“USES”子句中引用的单位层次结构。

例如:

                                Project Source (program.dpk)

        HelperUnit                  Forms                ThirdPartyUnit

MyUtils MyConsts MyDownload                         TPShellShock  TPWhatever 

我该如何查看这种依赖关系树?我记得在新版 Delphi 中有这样的功能,但我不记得它叫什么了。可能是一个插件。
如果您知道如何实现这个功能,请给我一些提示,谢谢。我已经花了三个小时写程序来解析 pas 文件,但还没有完成。

2
请查看此问题:https://dev59.com/MXA75IYBdhLWcg3w1s32 - RRUZ
4个回答

7

GExperts中还内置有一个单元依赖性分析器。 找到标记为“项目依赖项”的选项。 这可以从Delphi中的专家针对当前加载的项目进行操作。

GExperts Project Dependancies


3

我不知道有没有集成了你需要的功能的IDE工具,但是你可以看一下ModelMaker公司的Unit Dependency Analyzer,这个工具是免费的。


这看起来很有前途。我现在正在试玩它。如果其他人有建议,请继续提出。 - Daisetsu
看起来很有趣,但好像不再免费了。 - Nicolas Riousset

1

我们的开源文档工具SynProject可以自动创建这样的图表。

SynProject使用PasDoc的一个分支来解析项目单元的接口部分,然后提取注释以获取有关每个类/方法/函数/单元的详细信息。从这些数据中创建了单元依赖关系图和类层次结构图。

然后,将此信息合并到整个技术文档过程中,从需求开始,然后是架构、设计、验证计划、测试,最后是发布。

请参见http://synopse.info/fossil/wiki?name=SynProject


1

Icarus是另一个分析你的“uses”依赖关系的工具;它有一个很棒的功能,可以列出不需要在你的uses子句中的单元。

http://www.peganza.com/

它是免费的。


1
我非常喜欢这个功能,比起可能会搞乱IDE的东西来说。为什么Delphi IDE不能告诉你哪个单元在引用它,我永远不会理解...一个快捷键来显示谁在项目中“使用”这个单元将是太棒了! - sergeantKK

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接