我正在重构一个大型项目,并且需要将一些组件移动到新模块和表单中。是否有一种明智的方法来确保依赖组件的属性更新?
也许grep项目的dfms?
示例:将TDataSource从巨大的DataModule移动到较小的DataModule。在某些情况下,来源可能是40-50个表格的参考。我需要确保所有引用数据源的控件都得到更新。
答案 0 :(得分:6)
GEXperts中的GREP允许搜索pas和dfm文件。
答案 1 :(得分:5)
首先,我确定希望您使用版本控制。
我意识到这是一个“如此明显”的答案,但我发现看到所有引用和组件链接的最佳方法是(使用版本控制,以便稍后可以恢复所有更改),重命名属性或组件,然后看看有什么打破。
Pascal Analyzer在这方面帮助不大。
Delphi的重构功能可能会有所帮助(尝试重命名重构,并查看它可以建议它会自动为您重命名的位置)。不要应用更改,只需查看建议。
就“移动而不是重命名”某些控件或资源而言,请问“为什么”这样做。为什么要移动数据源?数据源只是数据感知控件的登陆点,您可以拥有多个指向单个数据集的数据源。为什么不仅移动数据集,并将数据源保留在原来的位置?
答案 2 :(得分:4)
如果您使用的是XE或更高版本,则可以在代码编辑器中右键单击组件名称或其他标识符,然后选择Search for Usages以获取要更新的引用列表。
更新: 不幸的是,这仅适用于源代码引用,并不显示DFM中使用标识符的位置。
答案 3 :(得分:0)
在Delphi或Notepad ++中,为MEGADATAMODULE执行查找,并确保包含整个源分支。那应该找到所有的实例。您还可以使用Notepad ++对所有.dcp,.bpl,.dll和.exe二进制文件进行搜索,以查看可能重新构建的内容。