2011-04-30 47 views
1

我是一位經驗豐富的程序員,但對於C++ Builder來說卻很新穎,所以這裏有幾個新手問題:使用古代VCL組件的建議方法是什麼?

我目前正在刷新一個用BCB5編譯的舊代碼庫。我的目標是最終使用XE版本,但由於有很多工作(龐大的代碼庫),我正在BCB6工作站的第一站(主要是因爲我可以繼續使用與_USE_OLD_RW_STL預處理器定義相同的STL版本)。

我有大部分使用的第三方VCL組件的源代碼,除了2,我只有foo.bpi/foo.bpl couple +頭文件。直接的後果是那些仍然需要vcl50.bpl鏈接/運行。

  1. 是否有反彙編/重組foo.bpl文件的方法,以便它可以鏈接/運行更新的VCL庫?

  2. 另一方面,是否可以在最終產品包中包含vcl50.bpl以及更新的vcl.bpl文件,以供這兩個組件使用?

  3. 任何更好的解決方案?

感謝

+0

老實說?我試圖找到這些組件的最新替代品。這些是什麼類型的組件? – 2011-04-30 13:16:04

+0

他們是公司似乎已經失去了來源的定製組件(或者承包商可能已經「忘記」提供它們,我不知道,歷史當然會丟失)。重點是我將只能使用二進制形式。 – cdelacroix 2011-04-30 13:46:52

+0

迴應自己:2.看起來沒什麼問題,當嘗試加載一個包時,可能會觸發某種運行時機制,會引發一個異常,抱怨在這兩個包中都實現了一個單元(AppEvnts)。 – cdelacroix 2011-04-30 14:12:04

回答

2

VCL包是特定版本。您不能在XE項目中使用BCB5軟件包。您必須獲得這些組件的XE特定版本。

+0

謝謝你的回答。你能解釋導致這種限制的技術細節嗎?由於我無法獲得更新的版本,因此我需要絕對確保在扔掉毛巾之前不能做任何事情。 – cdelacroix 2011-05-01 16:58:18

+2

@cdelacroix:雷米是對的,沒有什麼可以做的。對象的內部格式可以在版本之間變化,例如,RTL細節也是如此。當你升級到XE時,你會發現'TObject'具有不同的大小,'String's是不同的,等等......你將無法將BPL安裝到IDE中。正如Remy所說,您確實需要重新編譯源代碼,或者找到替代組件。你可以發佈關於組件的截圖或兩個,並要求在這裏的替代品!那裏有很多東西,有人可能會指給你一個,或給出編寫替代品的提示。 – 2011-05-03 03:16:01

相關問題