2008-11-04 3 views
8

J'ai remarqué aujourd'hui que dans D2009 (avec la mise à jour 1), TStringStream.ReadString ne déplace plus la position dans le flux comme il le faisait jusqu'à D2007. Donc, en bouclant sur MyStringStream.ReadString (10), on lirait toujours les 10 premiers caractères du flux au lieu de se déplacer et d'obtenir tous les 10 caractères du flux par 10 caractères. J'ai vérifié le document, il dit toujours que ReadString devrait déplacer la position ...
Quelqu'un peut-il confirmer s'il s'agit d'un bug dans le code D2009 ou s'il y a eu un changement de conception (et pourquoi) et le doc est obsolète?
Merci ...Modification du comportement de TStringStream.ReadString dans D2009?

Mise à jour: problème signalé dans QC#68582

Répondre

6

Certainement un bug et une rupture de compatibilité laid. Si vous vérifiez les Classes.pas, vous verrez la version Unicode et non-Unicode de ReadString. La version non-Unicode incrémente la FPosition alors que l'Unicode ne l'est pas. L'original D2009 et la mise à jour 1 se comportent tous deux de la même manière.

Veuillez le signaler en QC.

+0

Déjà fait: QC# 68216 –

+0

Impossible de le trouver. Créé un nouveau: # 68582 –

Questions connexes