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

时间:2016-04-26 12:08:20

标签: 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(我们应该很快升级,但我不认为这与我的问题相关)。

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

1 个答案:

答案 0 :(得分:5)

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