2012-02-07 75 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