2016-06-17 50 views
1

我在delphi 10.1 Berlin中創建了一個包含組件(運行時包和設計包)的包。在項目中使用包

我想在一個vcl項目中使用這個包的組件。

我想要在項目中嵌入組件的代碼。 (我不想將項目鏈接到extern bpl)

每次我編譯項目時,Delphi都會告訴我們找不到組件的來源。 我可以在項目的路徑中添加組件源的目錄,但我不想那樣做。 由於該組件的代碼是在bpl中,我想必須有一個解決方案,德爾福將bpl「綁定」到項目而不知道組件的.pas或.dcu在哪裏,但是我不能圖怎麼做。可能嗎 ?怎麼樣 ?

回答

3

當我閱讀你寫的內容時,似乎你並不想在你的可執行文件中使用軟件包。這是我從這個聲明推斷:

我不想將項目鏈接到extern bpl。

因此,您需要將源代碼鏈接到項目中。有多種方法:

  1. 在可執行項目中包含源文件(.pas和任何輔助文件)。
  2. 將包含源文件的目錄添加到項目搜索路徑。
  3. 添加到項目搜索路徑包含編譯.dcu文件的目錄。

你選擇做的完全取決於你。

請注意,您還應該確保使用運行時軟件包項目選項未針對您的可執行項目進行檢查。

現在,我明白,在這個問題中,你說你不想做我建議你做的事。相反,你寧願以某種方式將軟件包嵌入到可執行文件中。但這並不是軟件包的設計。如果你希望在可執行文件中包含所有內容,那麼你就是這麼做的。

+0

他可以調整全局庫路徑,以便它適用於所有項目,不是嗎? – whosrdaddy

+0

@whosrdaddy這也可以做我猜,但我對個人全球路徑過敏,並無視它們 –

+0

謝謝大家。我想避免在項目路徑中添加多個目錄。我將把所有的dcus放在一個目錄中,並在路徑中添加這個目錄。 – Arsnow

1

Delphi需要知道組件的源文件(.pas或.dcu)在哪裏。 您必須將源文件夾添加到庫路徑(可在工具 - 選項 - Delphi選項 - 庫下找到)