2009-11-05 62 views
1

我有一個插件應用程序的問題。最初,所有東西都被編譯成一個exe文件,但現在我想單獨將一些代碼轉換爲bpl文件。由exe和新bpl共享的代碼被放入第三個bpl。德爾福2010 - 包問題,文件未找到錯誤

application.exe是使用軟件包api.bpl編譯的 api.bpl只包含一個文件,api.pas plugin.bpl需要api.bpl。

我對磁盤下面的結構:。

\ - 用於.exe和bpls最終輸出
\ SRC - 用於application.exe和api.bpl,包括共享api.pas
sourcefiles \所有項目的dcu - dcu輸出
。\ plugin - 插件源

我可以在沒有問題的情況下編譯application.exe。
我可以編譯api.bpl沒有問題。
但是,當我嘗試編譯plugin.bpl時,它首先嚐試構建api.bpl,然後它抱怨它無法找到api.pas。

這是爲什麼?

回答

1

這是Delphi構建系統中的一個怪癖。它試圖在與plugin.bpl相同的構建規則下構建依賴包,而不是依據其自己的規則。在Project Options中查找plugin.bpl並確保它具有與api.bpl相同的路徑,然後它應該可以工作。

+0

但api.pbl沒有任何路徑,因爲它使用的唯一文件是它包含的文件,並且該文件與軟件包源位於同一文件夾中... 也許我應該嘗試將其移入它是自己的文件夾? – Vegar 2009-11-06 07:43:37

+0

無論如何,plugin.bpl在其搜索路徑中有.. \ src \,並且應該適用於api.bpl,不是嗎? – Vegar 2009-11-06 07:44:54

+0

@Vegar「,這應該適用於api.bpl,不是嗎?」試試看,並給我們答案。 ;-) – 2009-11-06 09:01:05