2
我总是认为dcu文件是编译时所需要的。至少,源文件(pas和dfm)不应该是必需的。当dcu存在时,Delphi在编译时是否需要dfm?
我有以下情况:
-
有两个单元,每个包含一个形式
- Delphi应用程序:
- UMain包含形成TMain
- USubForm包含窗体TSubForm
- USubForm在UMain的使用条款中
- I编译这个程序,我删除了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库和应用程序建立一个持续集成系统。我希望能够编译应用程序而不需要库的源文件。
我明白了,那我一直都是错的。它是有道理的,它被视为一个资源文件。事实上,这是在链接,而不是编译。谢谢。 – Roel
DCU是仅用于PAS文件的编译代码,它不包含DFM。 –