【发布时间】:2011-06-23 19:34:23
【问题描述】:
我正在将一些古老的(从 2003 年起)Delphi 代码升级到 Delphi Architect XE,但遇到了一些问题。我收到许多类型不兼容的错误。这些错误在 Delphi 6 中不会发生,所以我必须假设这是因为事情已经升级。
老实说,我不知道 PAnsiChar 和 PWideChar 之间的区别是什么,但 Delphi 肯定知道区别并且不会让我编译。如果我知道有什么区别,也许我可以弄清楚使用哪个或如何解决这个问题。
【问题讨论】:
-
看来我可能已经回答了我自己的问题。 AnsiChar 仅持有 [0...255] 而 WideChar 持有 [0...65,535]。我假设 WideChar 是 unicode 什么的。
-
D2009 中的 Unicode 升级是一个安静的大改进……您需要仔细检查您的代码并检查字符串类型。如果您使用通用数据类型
String和Char,那么所有内容都应该正确映射到正确的字符串类型...