|
|
1
4
我可以帮助其中一些,因为我正在移植一个使用2007到2009的TNT的C++ Builder应用程序。D2009中切换到Unicode已经过期,欢迎使用。然而,不幸的是,对于那些过去不需要unicode的人来说,转换可能更容易,但现在可能仍然不需要。如果像我一样,你需要unicode并使用Troy Wolbrink的伟大TNT控件来提供它,那么你的工作会更复杂。。。 好消息是有一个新版本的TNTControls TMS Software 支持D2009。我还没有看这个,但希望它只是一个“门面”层在本地VCL组件之上,以简化可移植性。我会考虑如果你的其他图书馆可以重建使用它。 但是,最好回到本机VCL控件,原因是字符串类型。TNT控件总是使用WideString来来回传递Unicode字符串,您很可能在自己的代码中分散使用WideString。这是可行的,但它并不理想,因为WideString实际上应该用于COM互操作,因为它“包装”了COM BSTR类型。D2009中的本机unicode字符串是引用计数的,应该快得多。 如果您决定用本地VCL组件替换TNT组件,那么可以使用GExperts“replace components”命令,或者更简单地在.DFM和.PAS文件(您有文本格式的文件,不是吗)中进行搜索和替换,将TTNT替换为t。 |
|
|
2
5
安装GExperts;有一个“替换组件”IDE加载项可以帮助将TTntXXX转换为txx控件。尝试一次,如果可以,只需检查“替换项目中的evrywhere”。 SpTbx和VirtualTrees只能重新编译-它们都支持D2009。 如果使用WinAPI包装器只是调用Unicode API-s,那么它们也应该在D2009中工作。
|
|
|
3
3
我建议使用以下资源: Marco Cantu的Delphi2009手册第3章(移植到unicode) http://www.marcocantu.com/dh2009/ Nick Hodges的文章(Unicode世界中的Delphi) http://blogs.codegear.com/nickhodges/2008/11/20/39149 |
|
|
4
1
我想不管怎样,这都是一项艰巨的工作。可能比以前没有完成所有使其与unicode兼容的工作还要多。我个人会忘记tms Unicode控件,回到vcl。它将在未来挽救更多的痛苦。(请注意,这些控制没有任何问题。)
|