2011-07-19 69 views
1

我有一套我在D2009中使用過的自定義組件。我已經安裝了Delphi XE,我希望能夠在升級項目的同時在兩個IDE中使用這些組件。但是,當我將它們安裝在XE中時,它們在D2009中不再可用。項目仍然可以編譯,但組件不再顯示在工具面板中,也不會出現在窗體設計器中。在Delphi 2009下安裝相同的組件並且Delphi XE不工作

無論我如何嘗試卸載/重新安裝等,我都無法讓組件在D2009中正常工作。我已驗證兩個IDE的庫路徑中都有組件的目錄。

我需要在這裏做什麼來使組件在IDE中工作?

謝謝!

回答

10

不同版本的Delphi在不同路徑(「包輸出目錄」)中生成不同套件(* .bpl文件)。設計包必須在運行時由IDE加載。現在Windows搜索路徑可能會發揮作用;當D2009想要加載包x.bpl時,它會解析爲它的(不兼容的)XE版本,因爲XE的包輸出目錄在D2009之前位於系統搜索路徑中 - 如果先安裝D2009並稍後安裝XE(推薦),則會發生這種情況。

解決方案是始終爲您的包使用Library Suffix。我建議你去德爾福自己的約定,並使用120爲D2009包和150爲XE包。您的x.bpl對於D2009變爲x120.bpl,對於XE變爲x150.bpl。

+0

確實。我通常爲每個版本的不同包文件(.dpk,.dproj等)提供單獨的目錄,併爲組件文件提供一個公共目錄。 –