2010-08-21 33 views
2

我在Delphi 2007中編寫了一個包含組件和幾個類的包。我想「安裝」類以及組件。如何在Delphi 2007中安裝類或組件等單元?

更確切地說:安裝組件時,設備以某種方式註冊,因此無需將其路徑添加到項目中的搜索路徑。我還想用一些不包含組件的額外單元來做到這一點:如果我能以某種方式註冊包的根目錄,我就完成了。這可能嗎?

編輯:一句話的目標是: 如果有人安裝我的軟件包,沒有必要添加路徑到包中的單元添加到Delphi的庫路徑(所以這不必是手工完成)。

+2

我不喜歡我的庫路徑而不問我的組件庫。事實上,我的環境選項庫路徑是空的。甚至沒有標準的bds庫路徑。 – 2010-08-21 12:26:40

+0

@Marjan Venema:好點。我會記住這一點! – Martijn 2010-08-22 07:42:12

回答

1

當我創建一個簡單的組件包時,我通常將「Unit Output Directory」包選項設置爲$(BDSCOMMONDIR)\ Dcp,而不是將路徑添加到庫路徑 - 這更簡單。你可以下載我ksTools package爲例 - 它是純粹的源代碼包與詳細的安裝說明

0

是否將它添加到dcluser.dpk並進行編譯就足夠了?

+0

我不知道,真的(以前從未使用dcluser.dpk)。編輯問題以使問題更清楚。 – Martijn 2010-08-21 11:42:00

3

爲了更精確:被安裝的組件 時,該單元是某種 註冊,使得沒有必要 將其路徑添加到項目中的 搜索路徑。

該單位沒有在任何地方註冊。安裝組件時,它所在的bpl包將在IDE啓動時添加到已知包列表中,它將調用每個已知包中的所有註冊過程(注意大寫R)。這些註冊過程包含用於獲取在工具選項板上註冊的組件的代碼。

如果您正確設置了組件包,IDE還會知道在窗體上放置組件時,哪些單元要添加到窗體的uses子句中。

環境選項中的庫路徑不是所有這些的一部分。如果正在通過安裝組件來進行修改,那麼除了將組件的bpl添加到IDE之外,組件的安裝程序還要將其作爲單獨的操作來完成。

+0

感謝您的詳細描述:我的觀點是,Delphi知道如何找到源代碼(您可以通過IDE中的uses子句訪問),這正是我試圖實現的目標。更新庫路徑當然是一個單獨的操作(我不知道該怎麼做),但它確實實現了我的愚蠢行爲。 – Martijn 2010-08-22 07:40:33

+2

@Martijn:當你按住Ctrl單擊一個單位(或右鍵點擊並選擇「在光標處打開文件」),Delphi知道在哪裏可以找到源**,因爲**庫中的內容是路徑!或者在「瀏覽」路徑中。德爾福沒有其他方式知道單位在哪裏。事實上,當你清空這兩個路徑時​​,Delphi不會找到任何你的組件的任何來源。 – 2010-08-22 07:59:14

+0

再次感謝您的信息! – Martijn 2010-08-23 06:14:19

0

IDE還需要知道與軟件包關聯的任何DCU的存儲位置。這意味着必須將實際路徑(DCU所在的位置)添加到IDE的「庫路徑」中,或將它們存儲在已註冊爲庫路徑的位置。

相關問題