2012.02.10,技术,delphi XE2 关于Unicode问题的解决

老版程序是用delphi7写的,升级到了delphi XE2后,调用API的部分全部不能使用,检查原因,发现delphi2009开始,已经全部把String升级为UnicodeString了,可我现在还不想将程序升级到Unicode,于是查找了一下embarcadero的论坛和网站。总结如下:

1)将程序中所有的String,改为AnsiString,所有的Char,改为AnsiChar。

当然,还需要一个过程一个过程的调试和测试。有一个澳大利亚的程序员,甚至编写了一个软件,主要将XE2下的默认Unicode编码转换成老版模式,而且支持文件、文件夹或目录树模式。软件下载链接如下:http://www.innovasolutions.com.au/delphistuf/AnsiStringCodeConverter.ZIP

软件说明如下:

http://www.innovasolutions.com.au/delphistuf/ADUGStringToAnsiStringConv.htm

主要做的更改包括:

将String更换为AnsiString;将Char更换为AnsiChar;将PChar更换为PAnsiChar;… …

对了,使用前建议备份源代码,否则……

2)请参考官方提供的一篇delphi Unicode迁移说明文档。

http://www.embarcadero.com/images/dm/technical-papers/delphi-unicode-migration.pdf

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注