【发布时间】:2009-07-13 14:50:39
【问题描述】:
夏天的商业平静已经开始,所以我开始迁移到 D2009。我大致确定了程序的每个子系统是否应该保持ascii,或者可以是unicode,并开始移植。
一切顺利,所有组件都存在于 D2009 版本中(有些组件,例如 VSTView,虽然有点不兼容)但我现在遇到了一个问题,在某些必须保持 ansistring 的部分,我广泛使用 TStringList,主要作为基本地图。
是否已经有一些容易替换的东西,或者我应该简单地包含一个基于旧 Delphi 或 FPC 源的缩减 ansistring tstringlist?
我无法想象我是第一个遇到这种情况的人?
更改必须相对本地化,以便在我通过验证轨迹时代码仍可与 BDS2006 编译。这里有几个ifdef,没有问题。 当然 string->ansistring 和 char ->ansichar 等在我的源代码中不算作修改,因为无论如何我都必须这样做,而且它是完全向后兼容的。
编辑:我已经能够处理阅读器/编写器类中的一些内容。这使得梅森的解决方案比我最初想象的更容易。我会记住 Gabr 的建议作为后备。
泛型几乎是我购买 D2009 的原因。可惜他们让 FPC 不兼容
【问题讨论】:
-
您是否进行了大量计算,包括字符串的字节数和字符串的长度?因为这是我做出这种降级的唯一真正要求。
-
一个是肯定的,版本化向后兼容的二进制版本。另一个(我还没有开始)是定制的 Sax 和 DOM 实现。但主要原因是我不想向客户解释如何使用记事本和 excel 打开 unicode 文本文件等,并让它变得陈旧,陈旧。
-
我再次对用户在 SO 上的行为感到困惑。 5 位用户对这个问题提供了深思熟虑的答案,到目前为止,71 位观众至少有 14 人投了赞成票,但没有人对这个问题投了赞成票。没有问题是完美的,但我发现阅读 Q 和 As 很有帮助 - 所以 +1 来自我。恕我直言,支持 Delphi 包括支持有关该主题的信息性讨论。
标签: delphi string unicode delphi-2009