2

我之前在 Delphi 7 中编写过一个应用程序。我为许多对象使用了 TNTUnicode 组件。现在我想在 Delphi XE4 中开发它。

我的问题:Delphi XE4 不支持 TNTUnicode。

那么,有没有办法将 TTNTObjects 转换为 TObjects?

4

3 回答 3

5

是的,您可以将它们转换为 XE4 附带的控件。

最简单的方法是将所有 dfm 文件作为文本打开并更改(例如)TTntEditTEdit. 所有类都有 TTnt 前缀,所以应该很容易找到它们。

之后,在 Delphi 中打开项目的每个窗体。

它会警告您控件类型错误,并通过为您更新表单类定义来修复故障。

从这些uses部分中移除 TNT 单位后,很有可能一切正常。只需反复按 F9,Delphi 就会准确地将您带到您需要删除的部分:)

您可能必须处理其他 unicode 内容,但这很可能与 tnt 控件无关。

于 2013-09-27T09:59:52.777 回答
3

TNT 组件的唯一目的是将 Unicode 感知组件添加到本机不支持 Unicode 的 Delphi 版本中。从 Delphi 2009 开始,Delphi 对 Unicode 具有原生支持。

因此,当您移植到 XE4 等支持 Unicode 的版本时,您不再需要 TNT 组件。只需将它们从您的项目中删除并使用本机组件即可。例如,替换TTntButtonTButton、替换TTntEditTEdit等。

如果您的项目很大,您需要编写脚本。您可能可以使用您最喜欢的脚本语言使用基于正则表达式的方法以合理的方式。确保您正确使用您的修订控制系统来支持这项工作。当您的正则表达式更改不应该更改的内容时,它会为您提供帮助!

于 2013-09-27T09:39:24.570 回答
0

另一种方法是购买 TMS Unicode 包 ( https://www.tmssoftware.com/site/tmsuni.asp )。

这为较新的 delphi 版本更新了 TNT 控件,并且只是为标准的 delphi 类设置别名,因此在您的应用程序中没有性能损失,但可以避免重命名控件。

于 2015-06-11T23:17:17.367 回答