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

我有以下情况:

  • 一个带有两个单元的 Delphi 应用程序,每个单元包含一个表单:
  • UMain 包含表单 TMain
  • USubForm 包含表单 TSubForm
  • USubForm 在 UMain
  • 的 uses 子句中
  • 编译这个程序后,我删除了 USubForm.pas 和 USubForm.dfm 并用编译后的 USubForm.dcu 替换它们。
  • 编译现在会导致错误:DCC : error : E1026 File not found: 'USubForm.dfm'
  • 请注意,如果我只删除 USubForm.pas(但将 USubForm.dfm 文件保留在 USubForm.dcu 旁边),则编译有效。

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

    我正在使用 Delphi XE2(我们应该很快就会升级,但我认为这与我的问题无关)。

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

    最佳答案

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

    关于delphi - 当存在 dcu 时,Delphi 在编译时是否需要 dfm?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/36864529/

    10-11 22:43
    查看更多