我今天注意到在D2009(更新1)中,TStringStream.ReadString不再像以前那样在D2007中移动流中的位置.
因此,在MyStringStream.ReadString(10)上循环将始终读取流的前10个字符而不是移动并获得10个字符的所有流10个字符.我检查了文档,它仍然说ReadString应该移动位置...
任何人都可以确认它是否是D2009代码中的错误或者是否有设计更改(以及为什么)并且文档已过时?
谢谢...
更新:QC#68582中报告的问题
绝对是一个错误和丑陋的兼容性破坏.如果检查Classes.pas,您将看到ReadString的Unicode和非Unicode版本.非Unicode版本正在递增FPosition而Unicode不是.原始D2009和Update 1的行为都相同.
请在质量控制中报告.