delphi – D2009中TStringStream.ReadString的行为更改?
发布时间:2020-12-15 04:08:50 所属栏目:大数据 来源:网络整理
导读:我今天注意到在D2009(更新1)中,TStringStream.ReadString不再像以前那样在D2007中移动位置. 因此,在MyStringStream.ReadString(10)上循环将始终读取流的前10个字符而不是移动并获得10个字符的所有流10个字符. 我检查了文档,它仍然说ReadString应该移动位置…
我今天注意到在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的行为都相同.
请在QC报告. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |