2011-11-10 166 views
4

我們目前使用D2007,但正在考慮升級到XE2。我可以在這裏想到兩個「更大」的問題 - 從2007年到2009年的Unicode步驟,以及從XE到XE2(32/64位,VCL/Firemonkey,指針大小,單位命名空間和什麼)的整個平臺。如何從Delphi 2007升級到XE2?

據我所知,我們還得到D2009,D2010和XE,如果我們買XE2,所以我的想法是,以解決升級分兩步:

  1. 先處理Unicode的。我想最好的辦法是升級到XE:我們可以使用泛型等,但與2007年 - > 2009年的升級相比,沒有其他問題。

  2. 如果第1步完成並已證明它對我們的客戶有效,請執行XE-> XE2。

你覺得呢?我們應該一步完成整個升級嗎?或兩個步驟,但有不同的中間版本?

編輯:我知道XE2並不強迫我們跨平臺(FireMonkey可能永遠不會成爲我們的選擇)。我只想避免像"XE2 values of mrAll, mrNoToAll, mrYesToAll and mrClose"這樣的相關問題,同時解決任何與Unicode有關的問題。如果我們在轉換期間讓我們的單元兼容D2007和XE2(或者這是一個壞主意?),單元命名空間聽起來像是一個障礙。

+0

我不能禁止自己想「@Nick Hodges會說'既然你通過自動化測試確保你的應用程序中的所有東西都沒有問題,你應該直接跳到XE2'」 –

+0

這並不能描述我們的情況**。 :-) –

+0

@ HeinrichUlbricht我很確定尼克永遠不會這麼說。僅僅因爲你的單元測試通過了,這並不意味着程序能夠正常工作。你如何測試你的單元測試? –

回答

7

我只是直接跳到XE2。僅僅因爲它支持64位和FireMonkey並不意味着你必須馬上使用它們。首先編寫32位代碼,根據需要進行Unicode更新,但在處理指針,內存使用情況等時要注意64位,以便在您準備好處理64位時儘量減少將來遷移的需要。不要擔心FireMonkey,因爲這是一個全新的框架,所以當你跳躍時你會從頭開始。

+0

+1這一秒。直接轉到XE2,但只是首先解決Unicode端口問題。堅持VCL和32位。每次更改一件事。唯一可能的擔憂是,第三方供應商可能現在還沒有完全支持XE2,但我認爲他們目前大部分都在那裏。 –

+0

感謝你們倆。我編輯我的帖子(希望:-))澄清我的顧慮。 –