明确将您的单位名称添加到Delphi项目源的优缺点

Bri*_*ost 7 delphi

我多年来一直在使用Delphi,我的每个项目都是从源代码编译到exe - 没有包等.如果在任何地方使用'MyUnitA.pas',它只是在另一个单元的接口或实现部分声明需要它.这一切都可以在任何地方工作,这意味着在我的项目源(dpr)中只有框架定义(在框架列表中没有出现的其他地方似乎需要)和必须调用的单元的"奇怪"定义非常早,例如madExcept,FastMM等.

我注意到XE有时会在dpr中解析东西,直到你真正编译它为止.此外,在处理包时,如果必须在没有明确添加到包中的情况下隐式提取内容,则会发出警告.这让我想知道我们是否应该努力将所有使用过的单元添加到我们的dpr(如包定义)或右键单击项目和'添加到项目'.你是做什么?

Dav*_*nan 5

我个人的搜索路径是空白的,并包含我的.dpr文件中的所有单位.我认为这样做的主要优点是:

  • 我确切地知道我的项目中包含哪些文件.
  • 查看单位(Ctrl + F12),查看表单(Shift + F12)提供项目中的所有单位和表格.

我认为这种方法没有任何明显的缺点.是的,当你包含一个新的第三方组件时,你必须将文件添加到.dpr文件中,但根据我的经验,这种情况并不常发生,因为它会成为一个很大的负担.


小智 5

(在Delphi Xe3 Enterprise上进行测试)
1 000 000线项目,1000个类,300个单元

  • 第一种方法:
    • 搜索路径仅包含vcl源路径
    • 在项目文件中使用路径名声明的所有文件(大约300个文件)
    • 我有很多麻烦:
      • Delphi Ide永久挂起,任务管理器中有"100%cpu"
      • 大量带下划线的代码,主要是"未找到标识符"
      • 大多数情况下,Ctrl + Enter符号无法正常工作
      • 项目文件很难编辑,每次按键后都要等几秒钟

  • 第二种方法:
    • 项目选项中的所有搜索路径(~50路径)
    • 在项目文件中声明的所有文件没有任何路径名(大约300个文件)
    • 结果:
      • 在Delphi Ide中没有更多的挂钩
      • 代码中没有下划线标识符
      • 项目文件响应更快
      • 编译时间更快(~10-15%)
      • 我的婆婆离开了这所房子
    • 缺点:
      • 项目文件中的"查找文件",无法使用,我不得不使用"在目录中搜索"
        选项.但它也会扫描不是来自我项目的文件.
        对我来说这不是什么大不了的事