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。 –