gpt4 book ai didi

delphi - D2010的更新真的有意义吗

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

我正在尝试将自己的项目迁移到delphi 2010。但这似乎非常困难。

  1. 我在旧项目中使用 TntControls。如果我删除这个库,一些运行时函数必须由我自己重新实现。例如:将UnicodeString转换为指定的代码页。
  2. “SizeOf”、“Length”、FillChar() 仍然让我困惑。如果 SizeOf() 应该替换为 Length(),编译器将抛出警告。但我还没有找到任何对我来说白痴安全的教程。
  3. 尝试将 AnsiString 转换为 UnicodeString 时出现令人困惑的警告。这次对话不会导致数据丢失,不是吗?
  4. 许多代码(zip、字符串实用程序等)必须重新测试。

太多令人头疼的事情...有人可以分享将现有项目从非常旧的 delphi 迁移到 delphi 2010 的经验吗?

最佳答案

  1. 仅使用 Delphi 将 Unicode 字符串转换为指定的代码页:比以往更简单。感谢 String 类能够创建所需代码页的字符串,并从一个代码页干净地转换为另一个代码页。
  2. FillChar 是字节,而不是字符,名称现在很不幸。确实没有那么令人困惑。
  3. 这个警告是为了让你思考,它确实如此。工作完成。
  4. 哦,是的。但重新测试和重新阅读对我来说是最大的好处。

我已将所有项目迁移到 Delphi 2009/2010,并发现其好处包括:

A.彻底重新阅读我的代码带来了我需要清理它的许多方法(因为它是一堆臃肿的旧事故和增量代码污泥,就像大多数 RAD/delphi 项目最终一样),其中很少有纯粹的 unicode 或 port相关,但所有这些都使产品更好地被迫进行更改。

B.一个更清洁的世界,更少的第三方组件。放弃 TNT 和十两个第三方组件将使您的项目更小、更正交且更易于支持。

C.没有理由在移植时使其成为一种方式。我的项目端口实际上都没有永久“移动”到 Delphi 2009/2010 中。它们在两个世界中都构建得很好。我在所有代码中广泛使用 UnicodeString 类型,只要我需要它,并且在 Delphi 2007 或更早版本上编译时,我会为 WideString 创建一个 typedef。

D. delphi 2010 ide 在 Windows Vista 和 Windows 7 上运行良好,并且使用该语言是一种乐趣。 Delphi 2009 和 2010 不会崩溃,而 Delphi 2007 和 Delphi 7 经常会崩溃。

如果您不需要支持 Vista 和 Win7,并且您 100% 满意且无故障地运行 TNT 组件,并且您的应用程序无法为您赚钱,那么请将其保留在原处。如果它能让你赚钱,那就投入你的时间,你很快就会看到返回。 Delphi 2010 和 2009 无疑是有史以来最好的 Delphi 版本,唯一令人头疼的是,自从他们放弃 WinHelp 格式的帮助文件以来,文档的质量一直低于 Delphi 7 的质量。

关于delphi - D2010的更新真的有意义吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1830021/

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