从一个单元使用哪些功能

Sha*_*deh 0 delphi

我有一个十多年前开始的大项目.我使用了我创建的单元来定义许多函数,转换日期等等.编译这个项目我得到了数百个提示和警告,几乎所有这些都在这个单元文件中.我认为在去年的项目变更之后我只使用了一些这样的功能.然后最好从项目中排除此单元文件并在新单元中复制使用过的函数.我决定在USES部分注释掉这个单位名称并找出使用了哪些功能,但是它很难,因为项目有大约150个表格!此单元中还有数百个功能,我不能为每个功能使用"搜索用法"

任何方案?

Rem*_*eau 9

我建议将旧单元留在项目和uses子句中,并使用deprecated hinting指令标记它,例如:

MyUnit.pas

unit MyUnit deprecated;
...
end.
Run Code Online (Sandbox Code Playgroud)

这样,编译器将警告您关于uses此单元的任何单元,并将警告有关从该单元引用的任何特定符号.然后,您将确切地知道要复制到新单元的符号.

解决所有警告后,可以deprecated从项目中删除该单元.

  • 我可能会建议在这种情况下删除这种误导性和不准确的答案 (4认同)
  • @RudyVelthuis那是Embarcadero需要修复的回归,因为它在早期版本中有效,并且反对[记录的行为](http://docwiki.embarcadero.com/RADStudio/Tokyo/en/Declarations_and_Statements#Hinting_Directives): "***当一个提示指令出现在单位声明中时,它意味着该提示适用于单位中的所有内容**.例如​​,Windows上的Windows 3.1样式OleAuto.pas单元已完全弃用.对该单元的任何引用**或该单位中的任何符号**会产生弃用消息.*" (3认同)