2011-12-21 65 views
1

舊的Delphi 7,取消選中運行時軟件包並構建所有技巧似乎不再適用,因此我無法恢復任何適合我的Delphi項目的運行時BPL。什麼是Delphi XE2 VCL Runtime BPL?

我有一個問題,我可能會問另一個問題和鏈接在這裏,我認爲可能通過包含一個特定的BPL包含VCL.CheckLst.pas解決。

的原因,我不只是知道這個問題的答案是,當我開始一個新的VCL形成的項目,沒有VCL BPLs在運行時包在默認情況下,有RTL和一些firemonkey東西和良好的老MadExcept和印,但沒有VCL,那有什麼關係?是我的德爾錯誤配置?

+0

如何,這是一個問題,你不能只是做一個文件系統搜索自己回答? – 2011-12-21 23:38:34

+0

文件 - >新包 - >查看源代碼:'rtl'就在那裏。文件 - >新單元,插入'使用vcl.checklst;',IDE強制你添加'vcl'和'vclx'。 – 2011-12-22 00:01:34

+0

@rob無法判斷它們是運行時還是設計時間 - 沒有意義包括(或分配)設計時間BPL – 2011-12-22 03:01:06

回答

5

沒有VCL.(注意.VCL)運行時包。以前有過的標準RTL軟件包;其中包含VCL名稱空間。

要準確找出需要分發哪些運行時軟件包,您可能會發現這很有用。

轉到Project Options/Packages/Runtime Packages對話框(下圖可幫助解釋)。

展開Link with runtime packages節點,檢查True,並清除三個Value節點複選標記。您還可以打開Runtime packages下的節點,並清除那裏的三個條目的列表。保存更改並關閉對話框。 (IDE將重新填充列表,並將其存儲在.dproj文件,你會看到它,如果你建立後重新打開Project Options對話框。)

使用Project|Build <yourproject>。一旦建立,請使用Project|Information for <yourproject>;右側面板會顯示您需要分發的BPL。 (根據Sertac的以下評論,VCL.CheckLstvc1x60.bpl,順便說一句)。確保你建立並不只是編譯;你需要確保所有的dcu都被重建,這樣可以確定包列表。

XE2 Project Options Packages Dialog

+0

只是爲了確保我檢查了rtl160和vclx160的輸出。它在vclx160.bpl中。作爲一個api控件,將它放入rtl也是沒有意義的。 – 2011-12-22 02:26:34

+0

窗體本身會帶來vcl160.bpl,它在這裏.. – 2011-12-22 02:29:56

+0

糟糕。我認爲你是對的(這很有道理)。它必須編譯VCL而不是使用包,因爲我只指定了'rtl160'。雖然exe仍然是5MB。表單或組件沒有拉入'vcl160';我無法弄清楚爲什麼,但它一定是我的錯誤(像往常一樣,不是你的)。回滾我上次的編輯並刪除我最後的評論。謝謝,Sertac。 – 2011-12-22 02:32:36