gpt4 book ai didi

delphi - 将项目从 Delphi 3 移至 Delphi 2010

转载 作者:行者123 更新时间:2023-12-03 15:03:37 26 4
gpt4 key购买 nike

我被要求重新打开一个我在 1998/99 年用 Delphi 3 编写的项目,此后该项目一直稳定运行。我在一台老化的 Windows 98 机器上有 Delphi 3 代码库,它的存在只是为了让这个项目保持活力。显然,我希望在进行任何重大修改之前将源代码库带入 21 世纪。

我很高兴地注意到,Delphi 2010(我目前使用的是 2007)声称能够从 Delphi 2 导入项目。有人有从 Delphi 3 导入大型项目的经验吗?我认为这是一个简单的过渡还是困难的过渡?

此外,原始项目还使用了第三方组件,包括 DBISAM、WPTools 和 TMS Planner。我注意到所有这些仍然可用于最新版本的 Delphi。假设我首先将新版本安装到 Delphi 2010 中,我可以期望应用程序中使用这些组件的部分也能被翻译吗?我知道自原始应用程序中使用的版本以来,至少 WPTools 已经更改了它的一些组件结构和接口(interface),显然我将在那里进行一些重新编码,但是程序的这些部分的失败是否会阻止我的代码库是否正在升级?

最佳答案

应该很有可能进行此迁移,并且根据代码的编写方式,它可能会很痛苦,也可能不会很痛苦。不幸的是,在您开始迁移过程之前,很难说清楚是哪个。

我要做的第一件事是确保所有 DFM 文件都转换为其文本表示形式。我相信在 Delphi 的更高版本中这被设置为默认值,但我记得 Delphi 3 使用了二进制格式。 delphi 3 bin 目录中应该有一个名为 DFMConvert 的实用程序文件或其他文件,它允许您将 DFM 转换为文本。您想要执行此操作的原因是为了确保在由于未加载组件而必须对 DFM 进行手动编辑时您可以读取源代码。您不仅会跳转 Delphi 的版本,还会跳转您使用的每个组件的版本,并且可能存在一些不兼容性,从而导致组件加载失败。我发现如果是这种情况并且您有一个"new"版本,则直接使用编辑 DFM 源并将测试表单及其上的组件与旧版本包含的内容进行比较。删除任何不合适的内容(或重命名),然后尝试再次加载表单。

正如 Frabricio 提到的,如果您使用变体,那么您将需要对您的使用条款进行细微调整。

好消息是,一旦纠正了组件/使用子句,您的代码本身应该可以正常工作。如果您直接进入 Delphi 2010,您唯一的其他问题将是 Unicode,并且编译器通过错误和警告向您指出所有这些问题,做得非常出色。

关于delphi - 将项目从 Delphi 3 移至 Delphi 2010,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1510168/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com