首页 文章

将启用unicode的Delphi 2006应用程序移植到Delphi 2009

提问于
浏览
5

我有一个在Delphi 2006中完全兼容unicode的应用程序 . 我用WideStrings替换了所有的AnsiStrings,用TNT控件替换了所有VCL控件,并将所有字符串函数从AnsiStrings更改为WideStrings . 看起来所有的工作都是徒劳的,因为我将不得不扭转这一切 . 反正Trick Delphi 2009是否认为Widestrings实际上是UnicodeStrings?

3 回答

  • 0

    不,确实没有 . 但是,您不会后悔为您的应用程序启用真正的Unicode .

    可以使用常规VCL控件轻松替换TNT控件 . 只需使用GExperts(http://www.gexperts.org)中的向导即可自动替换另一种控件类型 .

    然后,您可以将所有WideString声明更改为常规字符串 . String现在是UnicodeString的别名,因此所有字符串都可以保存Unicode数据 .

    BTW,TNT控制的作者Troy Wolbrink现在非常喜欢Delphi 2009而不是他自己的控件 .

  • 13

    TNT Controls的主要优点仅在于它可以在Windows 9x中用作Ansi程序 . 它不是完整的unicode . 如果你想在任何地方获得完整的unicode支持(例如Stringlist.LoadFromFile,Form.OnKeyPress),那么最好转到Delphi 2009 .

  • 0

    我在使用不同XML文件作为输入的应用程序中做了同样的事情 . 在我的情况下,我在整个程序中使用UTF-8(所以我们可以使用常规字符串),并且只转换为WideString用于显示目的(TNT控件) .

    我在WideString和UTF-8之间来回移除了转换,并且用普通的VCL控件替换了TNT控件,因为只有少数几种形式 .

    转换大约花了一个小时进行测试 . 代码更简单,程序明显更快 .

相关问题