2012-02-07 72 views
-2

首先,我不能真正更新版本,因爲我必須重新編寫使用過時組件的軟件。將Delphi5組件從Win2000遷移到Win7(64位)

我最初通過在新的Win7機器上重新安裝軟件包(大約40個)到新鮮的D5安裝而取得了很大的成功。如果它告訴我的.Bpl文件是丟失它的工作原理,當我將它移動到目錄:

C:\Program Files(x86)\Borland\Delphi5\Projects\Bpl

,同樣如果.dcu丟失我將它移動到Delphi5 \ lib目錄。

但是我的下一個障礙是當我加載任何具有Advantage表格的表格(我的所有軟件都使用Adt文件和AdsConnections)時。它給我的錯誤:

TableX.StoreActive : property does not exist 

很多表和一些更多的屬性,包括LoginPrompt。

看來這些不包含在我之前安裝時包含的組件中。我試過更新到Delphi Sp1的最新版本,但找不到有關如何添加這些屬性的任何信息。

+1

這不是在重新安裝IDE(或在新機器或操作系統上首次安裝)時安裝組件的正確方法。安裝組件不僅僅是複製DCU和BPL文件;它正在配置環境,將它們添加到註冊表的適當部分,將它們註冊到IDE等等。在浪費更多時間之前停下來(並且做更多的混亂),然後通過正確安裝IDE重新開始。我會建議在'Program Files'樹之外的某個地方(例如'C:\ Borland'或'C:\ Delphi')避免訪問問題。 – 2012-02-07 17:57:31

+0

假設大多數組件不會刪除較新版本中的屬性,這意味着舊計算機上使用的bpl和dcu的版本比迄今爲止安裝到新計算機的IDE中的版本要新。像@KenWhite建議的那樣保護自己很多麻煩! – 2012-02-07 18:08:51

+0

@KenWhite,值得加以回答。也許值得擴展一點來解釋如何正確安裝組件? – 2012-02-08 09:51:23

回答

2

我已經進行了一次類似的遷移:在Delphi 5上開發的幾個項目被移植到了Windows 7.與您不同的是,我也同時更新了Delphi 2010。

我遇到的最大困難是我的Delphi 5組件缺少對Unicode的支持 - 我不得不編輯大量的第三方代碼。當然,如果我沒有升級到Delphi 2010,我不需要這樣做。其他一切都順其自然。這是我做到的。

首先,我在舊機器上製作了一個項目副本,完成了每個表單,並用運行時創建替換了每個第三方VCL。這是一個編寫代碼來分配所有屬性和事件,但是當我完成時,我的表單上只有標準的Delphi組件,但項目仍然正常運行。然後我可以將項目和第三方的.pas文件移動到新機器上,在Delphi 2010中打開項目並處理unicode問題。

該過程艱苦但直接。

從那時起,我已經將另一個較舊的項目遷移到了相同的路徑,但是這次在Delphi 2010中構建了一個新的應用程序框架,並將這些單元複製到了零星的地方。在某些情況下,我使用了原始的.pas和.dfm文件,而在其他情況下,我創建了新的表單並複製了功能代碼。在所有這些情況下,我在Delphi 2010中安裝了最初的第三方組件的最新版本。這比原來的方法花了一點時間。

但是,你解決這個問題,祝你好運。

+0

謝謝@SourceMaid我希望能夠避免升級到2010年,因爲它可能會超出我的能力。我只是希望實際上可以將所有這些組件都安裝到Win7上。儘管安裝了更新,但我的Delphi About告訴我它是Win2000,這可能是問題所在。或者我已經爲AceReporter和AdSDataSet安裝了稍舊的組件。 – notidaho 2012-02-08 15:33:13