将巨大的旧 Delphi 应用程序迁移到最新的 Delphi 版本

问题描述 投票:0回答:3

我有一个旧的 Delphi 应用程序,我想将其迁移到最新的 Delphi 版本。问题是应用程序很大,一次性迁移整个应用程序会太复杂。我想知道执行此操作的最佳方法是什么...也许是逐个表单,将表单放入 dll 中,然后在新的 Delphi 应用程序中使用旧表单并逐一替换它们(在客户确认一个表单工作正常后)继续下一篇)。不确定这是否可行...还有其他想法吗?

delphi dll migration
3个回答
3
投票

根据您的评论,我认为您没有全面的测试用例。在这种情况下,你只是处于一个痛苦的世界,没有什么可以真正减轻这种痛苦。如果没有测试用例,您采取的任何方法都会产生错误和错误,这将花费您相当长的时间才能捕获它们。将其纳入您的期望中。事实上,按照您的期望,您需要安排一个大型测试阶段,也许这是一个好方法。一次性升级并在几个月内进行测试。

您可以首先确定最终需要的所有第三方组件,并一次将它们升级到最新版本。这样,您至少可以以受控方式识别每个第 3 方组件的错误。同样,由于您依赖手动测试,这也很容易出错,但也许您可以重点关注优先使用升级组件的区域。


1
投票

这是我的建议。 在开始迁移之前,请重构现有的源库。

  1. 删除未使用的东西。

  2. 尝试尽可能多地移动到标准delphi组件。

  3. 从您的使用声明中删除“未使用”的单位。

  4. 如果需要,尝试做一些分层(App-UI、App-Logik、DB-Layer、Libraries)

  5. 寻找第 3 方组件/库,在最新的 Delphi 版本中可能不再需要它们,因为该功能现在已包含在 Delphi 中。如果您发现此类组件/库,请尝试封装它们。

现在你有了新版本的软件(仍然是旧的delphi)。尽可能准确地测试它(单元测试就完美了)。

如果完成了此操作,那么您就开始迁移到较新的 Delphi。我建议一次性完成(而不是 .dll 和一项一项)。


1
投票

我认为没有足够的信息来为您提供具体建议。

我的答案是聘请知识渊博的专家来查看您的代码,与您的员工交谈,查看您的文档和测试,然后向您提供明智的选择。这很可能全部通过 Zoom/Skype 在线完成。如果您考虑一下您最终将在转换上花费多少钱,以及您将花费多少钱来解决问题,因为您走错了方向(以及由于错误/性能问题您可能会失去多少客户) )这将是一项极其便宜的投资。

有许多具有德尔福经验的公司可以为您提供帮助。 (我不为其中之一工作,这也不是广告。)有一些著名的德尔福顾问可能会进行一些免费或小额固定费用类型的初步对话。

如果您使用的是 Delphi 2009 中 Unicode 切换之前的版本,有许多在线资源可以提供帮助。 Delphi 转换 Unicode 问题

如果您想要一些实时建议并讨论特定问题,请查看专门用于 Delphi 编程的 Telegram 服务器,该服务器拥有近 800 名成员。几乎总是有一些Delphi专家在线解答问题。 https://t.me/delphidevelopers 您应该能够从该服务器获得一些咨询联系人。

© www.soinside.com 2019 - 2024. All rights reserved.