当dcu存在时,Delphi是否在编译时需要dfm?

Roe*_*oel 3 delphi delphi-xe2

我一直认为dcu文件是编译时所需要的.至少,不需要源文件(pas和dfm).

我有以下情况:

  • Delphi应用程序,包含两个单元,每个单元包含一个表单:
    • UMain包含TMain形式
    • USubForm包含表格TSubForm
  • USubForm属于UMain的使用条款
  • 编译完程序后,我删除了USubForm.pas和USubForm.dfm,并用编译好的USubForm.dcu替换它们.
  • 编译现在导致错误: DCC : error : E1026 File not found: 'USubForm.dfm'
  • 请注意,如果我只删除USubForm.pas(但在USubForm.dcu旁边留下USubForm.dfm文件),编译工作.

我不明白.我认为dcu文件将是我所需要的(即它是pas + dfm文件的编译版本).

我正在使用Delphi XE2(我们应该尽快升级,但我不认为这与我的问题相关).

PS一些上下文:我正在尝试为我们的内部Delphi库和应用程序设置一个持续集成系统.我希望能够在不需要库的源文件的情况下编译应用程序.

Rob*_*edy 5

是的,链接项目时需要DFM文件.它被视为资源文件.我记得,它不是必需的编译时.