Delphi 2010或Delphi 7程序显示单位依存关系的工具

4
我们正在试图解决一个包含数百个单元的复杂问题,并移除其中一些。
如果有一个工具可以显示哪些单元明确使用了X单元,那将非常有帮助。
Penganza似乎没有这样的报告。(虽然它有很多其他有用的报告。)
除了隐藏X单元然后反复按F9之外,是否有人能提供一个工具或策略来完成此任务?
8个回答

6

MMX(模型制造商代码资源管理器)有一个很好的单元依赖分析器(特别擅长检测循环依赖关系)。

更多详情请参见此答案

--jeroen


1
MMX是一个非常棒的工具,可以做很多很酷的事情!每个Delphi用户都应该尝试一下。 - Warren P
1
如果您选择使用模型制作器,您应该查看 Lattix。Modelmaker 可以创建可用于查看依赖关系结构矩阵的文件。 - Lieven Keersmaekers

5

从类似的问题这里,你可能想看看CnPack。 CnPack包括一个使用清理向导,它从未让我失望过。


1
而且它也是免费的。就像GExperts一样。许多人使用CNPack。 - Warren P

4

2
Peganza Pascal Analyzer可以完成这项工作。我没有使用它太多,但这里的一位前开发人员编写了一个系统,使用PAL进行分析,然后将结果转储到数据库中,然后有一个浏览器应用程序,让您输入单元名称,它返回受影响的单元列表,无论它们是否需要在单元更改时重新构建,或者接口是否更改。我们使用很多BPL,因此有时您可以更改一个单元,而不必重新构建使用您的单元的其他二进制文件,除非接口发生了更改。这为我们节省了大量的工作(数百个BPL和EXE)。
克里斯

PAL是商业软件,但非常值得。我们在这里喜欢PAL!他们刚发布了5.0版本。我不确定为什么个人信息必须包含在内。请您能否将其删除? - Warren P
@Warren P 和 @Chris Thornton。同意。个人事项已编辑。 - Francesca
在个人事项上我们已经达成一致,但我想表达的是我们真的不知道它是如何工作的,也没有可分享的代码,如果有人要求的话。 - Chris Thornton
它是如何工作的?为现有的Delphi项目构建依赖树并不太直观。 - The Bitman

1

1

Headway Software的Structure 101g(以及Restructure 101g)可以通过Delphi插件很好地实现这一点。

免责声明:我编写了分析Delphi的版本。我专业使用它们,帮助客户。


0

我本来想提到Icarus,但当我谷歌搜索时,我得到了这个stackoverflow答案,你可能想要查看一下。

不过有时候我只是喜欢删除整个单元输出目录,然后计算我的新DCU,这也可以。

你可能喜欢Icarus而不是GExperts的原因是它不依赖于你在项目文件中正确维护uses语句。


0

在编程领域中的新手是Sonar Delphi插件。它不列出单元依赖关系,但可以找到未使用的文件和“死”代码(以及更多)。

实现的功能:

  1. 计算代码行数、语句数、文件数
  2. 计算类数、包数、方法数、访问器数
  3. 计算公共API数量(方法、类和字段)
  4. 计算注释比率、注释行数(包括空行)
  5. CPD(代码重复,行数、块数以及在多少个文件中)
  6. 代码复杂度(每个方法、类、文件;复杂度分布在方法、类和文件上)
  7. LCOM4和RFC
  8. 代码着色
  9. 单元测试报告
  10. 汇编语法语法
  11. 包含语句
  12. 解析预处理器语句
  13. 规则
  14. 代码覆盖率报告
  15. 为单元测试突出显示源代码
  16. “死”代码识别
  17. 未使用文件识别

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