Delphi 用于更改单元名称及其所有引用的工具

Delphi 用于更改单元名称及其所有引用的工具,delphi,pascal,Delphi,Pascal,如果我对某个单元进行了重大更改,我希望更改其名称,以明确这是一个不同的版本,并避免与其他存档版本混淆,例如: CSVUtils.PAS变为CsvUtilsNew.PAS 但其他单位对其的所有引用都必须手动更改,例如: Unit ManiForm Uses CSVUtils 变成 Unit ManiForm Uses CsvUtilsNew 在复杂的项目中,这会变得非常困难 伊卡洛斯很擅长找到所有的参考资料,但我找不到任何能自动更新所有其他单位的工具 有人知道自动更新单元参考的工

如果我对某个单元进行了重大更改,我希望更改其名称,以明确这是一个不同的版本,并避免与其他存档版本混淆,例如: CSVUtils.PAS变为CsvUtilsNew.PAS

但其他单位对其的所有引用都必须手动更改,例如:

Unit ManiForm

Uses
  CSVUtils 
变成

Unit ManiForm

Uses
  CsvUtilsNew
在复杂的项目中,这会变得非常困难

伊卡洛斯很擅长找到所有的参考资料,但我找不到任何能自动更新所有其他单位的工具

有人知道自动更新单元参考的工具吗


非常感谢

我会使用记事本++或UltraEdit在所有文件(*.pas,*.dpr,*.dproj)中搜索并替换旧设备名称和新设备名称。除非您有与单元同名的变量或函数,否则此操作非常有效,速度很快,并且不需要任何专门的解析器。

我将使用Grep Search and Replace。

您还可以在项目选项中定义单元别名。
例如,
CSVUtils=CsvUtilsNew

任何grep都适用于此。我已经使用这个()框架多年了。可能吧,但是GExperts grep已经集成到IDE中,并且在某种程度上是为Delphi开发量身定做的。@Ulrich,我同意。有了GExperts grep,你可以,也就是说,将你的范围限制在项目、项目组、目录等。有用的工具,可能还有GExperts中的一些其他功能,我也会发现这些功能很有用,我喜欢它是为Delphi设计的。它确实有效。我使用此功能帮助从D6迁移到D2010。有问题的单元是Mike Lischke的XP主题管理器单元,它在D7中被Delphi吸收,并导致名称更改。还有名称不同的png和gif图像单元。我只需要别名,同时我希望代码可以用两个编译器编译。单位别名工作得非常好。但我不认为这是一个长期的解决方案。对于需要在所有delphi版本中编译单个源代码的组件供应商,单元别名可能是正确的解决方案,但在应用程序级别(而不是组件级别的供应商),它很快就失去了意义。我们使用列表和标签作为报告引擎。它有一个可爱的功能,就是将其版本号合并到单元名称中—有
l17.pas
cmbtLL17.pas
等等。我们通过别名
cmbtLLAlias=cmbtLL17解决了这个问题;LLAlias=l17
并将“…别名”名称放入
中使用
子句。这些都是非常有用的提示,一旦你知道要查找什么,它们总是令人惊讶!!我还没有接受这三个答案中的任何一个,因为我怀疑这三个答案都有其相对的优点,所以我不想在不存在的地方表达偏爱,我会尝试建议的方法&看看什么最适合我的应用程序,BrianThis这是一个很好的技巧CSVUtils=CsvUtilsNew,我以前不知道,它允许快速解决问题,但我怀疑最好不要广泛使用is,主要是因为如果其他人在项目中工作,他们可能不知道它&可能会引起混乱。好的调试快速修复程序?