我有一个旧的 Delphi 应用程序,我想把它移植到最新的Delphi版本。问题是这个应用程序太大了,一次移植整个应用程序太复杂了。我想知道什么是最好的方法来做这个...也许一个表单一个表单地移植,将一个窗体放入dll中,然后在新的 Delphi 应用程序中使用旧窗体,并逐个替换它们(在客户确认一个表单工作正常后,继续下一个表单)。不确定这是否可行...还有其他想法吗?
nhhxz33t1#
根据您的评论,我认为您没有全面的测试用例。在这种情况下,您只是在痛苦的世界里,没有什么可以真正减轻痛苦。没有测试用例,您所采取的任何方法都会产生错误和bug,这将花费您相当长的时间来捕捉它们。请将其构建到您的期望中。事实上,有了这些作为你的期望,那么你需要安排一个大的测试阶段,也许这是一个好的方法。2一次升级所有的东西,然后在几个月的时间里测试。您可以先确定所有最终需要的第三方组件,然后一次升级一个组件到最新版本。这样,您至少可以以可控的方式识别每个第三方组件的bug。同样,由于您依赖于手动测试,这也容易出错,但也许您可以将重点放在优先使用升级组件的区域。
0wi1tuuw2#
这里是我的建议。在你开始迁移之前,对你现有的源码库做一个重构。1.)删除未使用的东西。2.)尝试尽可能多地迁移到标准的 Delphi 组件。3.)从你的uses语句中删除“未使用”的单元。4.)如果需要,尝试做一些分层(App-UI,App-Logik,DB-Layer,Libraries)5.)寻找第三方组件/库,在最新的 Delphi 版本中可能不再需要,因为功能现在包含在Delphi中。如果你发现这样的组件/库,尝试封装它们。现在你有了一个新版本的软件(仍然在旧的 Delphi 中)。尽可能精确地测试它(单元测试会很完美)。如果这样做了,那么你就开始迁移到较新的 Delphi 。我建议一次完成(而不是dll和一个接一个)。
vdzxcuhz3#
我不认为有足够的信息提供给予你具体的建议。我的答案是请知识渊博的Maven来看你的代码,和你的员工交谈,检查你的文档和测试,然后给你提供聪明的选择。这一切都可以通过Zoom/Skype在线完成。如果你想一想你最终会在转换上花费多少钱,以及您将花费多少钱来修复问题,因为您走错了方向(以及您可能会失去多少客户,由于错误/性能问题),这将是一个非常便宜的投资。有许多有 Delphi 经验的公司可以帮助你。(我没有为一家公司工作,这不是一个广告。)有一些著名的德尔福顾问,可能会有一些免费的,或小的固定费用类型,初步交谈。如果您使用的是 Delphi 2009中Unicode开关之前的版本,则有许多在线资源可以帮助您。Delphi Conversion Unicode Issues如果你想得到一些实时的建议和关于特定问题的聊天,可以查看Telegram服务器,这个服务器有近800个成员,专门负责 Delphi 编程。几乎总是有一些DelphiMaven在线回答问题。https://t.me/delphidevelopers你应该可以从这个服务器上得到一些咨询联系人。
3条答案
按热度按时间nhhxz33t1#
根据您的评论,我认为您没有全面的测试用例。在这种情况下,您只是在痛苦的世界里,没有什么可以真正减轻痛苦。没有测试用例,您所采取的任何方法都会产生错误和bug,这将花费您相当长的时间来捕捉它们。请将其构建到您的期望中。事实上,有了这些作为你的期望,那么你需要安排一个大的测试阶段,也许这是一个好的方法。2一次升级所有的东西,然后在几个月的时间里测试。
您可以先确定所有最终需要的第三方组件,然后一次升级一个组件到最新版本。这样,您至少可以以可控的方式识别每个第三方组件的bug。同样,由于您依赖于手动测试,这也容易出错,但也许您可以将重点放在优先使用升级组件的区域。
0wi1tuuw2#
这里是我的建议。在你开始迁移之前,对你现有的源码库做一个重构。1.)删除未使用的东西。2.)尝试尽可能多地迁移到标准的 Delphi 组件。3.)从你的uses语句中删除“未使用”的单元。4.)如果需要,尝试做一些分层(App-UI,App-Logik,DB-Layer,Libraries)5.)寻找第三方组件/库,在最新的 Delphi 版本中可能不再需要,因为功能现在包含在Delphi中。如果你发现这样的组件/库,尝试封装它们。
现在你有了一个新版本的软件(仍然在旧的 Delphi 中)。尽可能精确地测试它(单元测试会很完美)。
如果这样做了,那么你就开始迁移到较新的 Delphi 。我建议一次完成(而不是dll和一个接一个)。
vdzxcuhz3#
我不认为有足够的信息提供给予你具体的建议。
我的答案是请知识渊博的Maven来看你的代码,和你的员工交谈,检查你的文档和测试,然后给你提供聪明的选择。这一切都可以通过Zoom/Skype在线完成。如果你想一想你最终会在转换上花费多少钱,以及您将花费多少钱来修复问题,因为您走错了方向(以及您可能会失去多少客户,由于错误/性能问题),这将是一个非常便宜的投资。
有许多有 Delphi 经验的公司可以帮助你。(我没有为一家公司工作,这不是一个广告。)有一些著名的德尔福顾问,可能会有一些免费的,或小的固定费用类型,初步交谈。
如果您使用的是 Delphi 2009中Unicode开关之前的版本,则有许多在线资源可以帮助您。Delphi Conversion Unicode Issues
如果你想得到一些实时的建议和关于特定问题的聊天,可以查看Telegram服务器,这个服务器有近800个成员,专门负责 Delphi 编程。几乎总是有一些DelphiMaven在线回答问题。https://t.me/delphidevelopers你应该可以从这个服务器上得到一些咨询联系人。