夏天的商业平静已经开始,所以我开始迁移到 D2009。我粗略地确定了程序的每个子系统是否应该保留 ascii,或者可以是 unicode,并开始移植。
一切都很顺利,所有组件都在 D2009 版本中(有些组件,如 VSTView,虽然稍微不兼容),但我现在遇到了一个问题,在某些部分必须保持 ansistring,我广泛使用 TStringList,主要作为基本 map 。
是否已经有一些容易替换的东西,或者我应该简单地包含一个基于旧的 Delphi 或 FPC 源代码的缩减的 ansisstring tstringlist?
我无法想象我是第一个遇到这种情况的人?
这些更改必须相对本地化,以便在我完成验证轨迹时代码仍然可以与 BDS2006 兼容。这里有几个ifdef就没有问题了。 当然, string->ansistring 和 char ->ansichar 等在我的源代码中不算作修改,因为无论如何我都必须这样做,而且它完全向后兼容。
编辑:我已经能够解决读者/作家类(class)中的一些内容。这使得梅森的解决方案比我最初想象的更容易。我会牢记加 bool 的建议作为后备。
泛型几乎是我购买 D2009 的原因。遗憾的是他们让它不兼容 FPC
最佳答案
JCL在 JclAnsiStrings 单元中实现 TAnsiStrings 和 TAnsiStringList。
关于delphi - D2009 TStringlist ansisstring,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1119920/