2015-05-05 25 views
0

我將代碼從Delphi 2007移動到XE7。我的程序使用後期綁定包的方式。所以我編譯我的應用程序與「運行包的鏈接」選項。我用這樣的方式很長一段時間,2007年XE7鏈接運行時包問題

但在XE7,相同的封裝結構,原因:

錯誤消息「單位X與不同版本Y.Txyz的編制」。

Unit X in my package。 Y單元也在庫包中。關係似乎沒問題。爲什麼XE7出現這個錯誤? 我試過以下方法:

  • 我清除了.dcu文件。
  • 我在包中打開「按需生成」選項。
  • 構建所有的每個包和應用程序文件。

編譯器傳遞一些錯誤,但重複「與不同版本編譯..」類型的錯誤在其他地方..

我不清楚這個問題。 XE7的邏輯有變化嗎? 最好的問候

回答

0

我專注於這個問題,並且我意識到了Delphi2007中的一些差異XE7。

  • 編譯器搜索* .dcu文件。如果有多個版本的* .dcu文件以某種方式生成,則比其中一個軟件包可能會生成「使用不同版本編譯的單元」錯誤。

  • 如果源包聲明爲「需要重建」,則在使用源包編譯其他包時,再次編譯單元並生成新的dcu文件。因此,請選中「顯式重建」。

  • 我創建了通用的dcu路徑,並在所有包的「單元輸出目錄」中聲明。