我们有一个大型商业应用程序,我们想要将其从Delphi 6转换为2010。约有10个第三方组件集,全部都带有源代码...我听说过与2010有关的Unicode警告 - 有人有经验或建议吗?
我们有一个大型商业应用程序,我们想要将其从Delphi 6转换为2010。约有10个第三方组件集,全部都带有源代码...我听说过与2010有关的Unicode警告 - 有人有经验或建议吗?
有许多可供阅读的资源,可帮助您从Delphi 6迁移到Delphi 2009/2010(Unicode)。
您可以将这些文章用作指南。
再见。
以下是一些有用的StackOverflow问题答案:
将函数转换为Delphi 2009/2010(unicode)
Delphi 2009/2010和Windows API调用中的Unicode问题
此外,值得一提的是,我购买了Marco Cantu的Delphi 2009手册。它就足够让我在几周内相对顺利地从Delphi 4转换到Delphi 2009了。
我建议您确保您的第三方包已经升级到Delphi 2009,否则您可能会遇到一些真正的困难。转换自己的代码是一回事,转换别人的代码是另一回事。我必须将Carey Jensen的这篇文章添加到其他提到的文章中。它被标记为:“Delphi Unicode Migration for Mere Mortals: Stories and Advice from the Front Lines”(英文版)。 http://www.danysoft.com/free/delphiunicodemigration.pdf
正如您在标题中所看到的,您将会发现许多经验和提示。我认为这是您问题的答案。仔细阅读后,您肯定会知道下一步该怎么做。 :)
来源:http://www.danysoft.com/productos/migrar-aplicaciones-a-delphi-xe-o-cbuilder-xe.html
ShellExecuteA
。如果您的代码正在执行假设AnsiString
内部布局的棘手指针代码,则会出现问题。一种解决方法是将PChar
替换为PAnsiChar
,将Char
替换为AnsiChar
,将string
替换为AnsiString
,并在Win32 API调用的该部分代码末尾添加A。在代码实际编译和正常运行后,您可以重构代码以使用string
(UnicodeString
)。 if VarType(AValue) = varString then ...
需要被改变为
if VarType(AValue) = varUString then ...