我是一个基于Delphi7的新闻服务器,使用Indy9 TIdTCPServer,客户端正在使用ScktComp的TClientSocket大小,并且流量在RC4中加密(字符串)
我需要使用Unicode支持在XE或2010上使用我的应用程序究竟需要什么?我必须改变这些东西中的哪些东西?
答案 0 :(得分:5)
Unicode已在Delphi 2009中引入,因此如果您需要unicode支持,可以使用Delphi 2009进行。
但是如果您要升级,获得最新版本,您可以获得Delphi 2010的所有好处,减少错误,并将更多第三方工具与Delphi XE捆绑在一起。
你可能面临的另一个问题是Indy 9到Indy 10之间的转换,因为Indic 10增加了unicode支持,但它与Indy 9并不是100%兼容。
我建议你尝试使用Delphi 7和Indy 10编译你的应用程序,然后再转移到带有Indy 10的Delphi XE。
答案 1 :(得分:0)
不知道在XE和2010上是否仍然支持Indy 9.Indy 10有改进但也有一些重大变化。将二进制数据移动到字符串中是恕我直言,从来不是一个好的选择,但根据情况,它可能只需要一些小的改动。你真正需要什么取决于你的应用程序代码 - 没有实际看它很难说。应该检查所有字符串操作例程,特别是如果您将它们用作低级二进制缓冲区,并选择哪条路径最适合将它们移植到Unicode世界。
答案 2 :(得分:-3)
首先,您必须默认使用STRINGS STRING类型是WideString这意味着每个字符有2个字节 - 为了快速迁移,我建议用AnsiString替换所有“字符串”出现,然后逐步更新部件提供Unicode支持的代码。请记住,Indy是您必须工作的部分,但是您很幸运,因为您可以搜索SO以寻找问题的答案......