在D2009中改变TStringStream.ReadString的行为?

时间:2008-11-04 07:52:26

标签: delphi

我今天注意到在D2009(更新1)中,TStringStream.ReadString不再像以前那样移动流中的位置。直到D2007。 因此,在MyStringStream.ReadString(10)上循环将始终读取流的前10个字符而不是移动并获得10个字符的所有流10个字符。 我检查了文档,它仍然说ReadString应该移动位置...
任何人都可以确认它是否是D2009代码中的错误或是否有设计更改(以及为什么)并且文档已过时?
感谢...

更新:QC #68582

中报告的问题

1 个答案:

答案 0 :(得分:6)

绝对是一个错误和丑陋的兼容性破坏。如果检查Classes.pas,您将看到ReadString的Unicode和非Unicode版本。非Unicode版本正在递增FPosition而Unicode不是。原始D2009和Update 1的行为都相同。

请在QC报告。