* Merging revisions 47061 from trunk:

------------------------------------------------------------------------
    r47061 | michael | 2020-10-07 12:15:13 +0200 (Wed, 07 Oct 2020) | 1 line
    
    * Fix bug where position is not advanced when calling ReadAnsiString/ReadString
    ------------------------------------------------------------------------

git-svn-id: branches/fixes_3_2@47062 -
This commit is contained in:
michael 2020-10-07 10:23:29 +00:00
parent d0f65b36ab
commit dbcd3d0b64
2 changed files with 6 additions and 4 deletions

View File

@ -971,7 +971,7 @@ type
procedure WriteWord(w : Word);
procedure WriteDWord(d : Cardinal);
procedure WriteQWord(q : QWord);
Procedure WriteAnsiString (const S : String);
Procedure WriteAnsiString (const S : String); virtual;
property Position: Int64 read GetPosition write SetPosition;
property Size: Int64 read GetSize write SetSize64;
end;
@ -1105,9 +1105,9 @@ type
Destructor Destroy; override;
function ReadUnicodeString(Count: Longint): UnicodeString;
procedure WriteUnicodeString(const AString: UnicodeString);
function ReadAnsiString(Count: Longint): AnsiString;
procedure WriteAnsiString(const AString: AnsiString);
function ReadString(Count: Longint): string;
function ReadAnsiString(Count: Longint): AnsiString; overload;
procedure WriteAnsiString(const AString: AnsiString); override;
function ReadString(Count: Longint): string;
procedure WriteString(const AString: string);
property DataString: string read GetDataString;
Property UnicodeDataString : UnicodeString Read GetUnicodeDataString;

View File

@ -939,6 +939,7 @@ begin
NewLen:=Size-FPosition;
If NewLen>Count then NewLen:=Count;
Result:=FEncoding.GetAnsiString(FBytes,FPosition,NewLen);
Inc(FPosition,NewLen);
end;
procedure TStringStream.WriteAnsiString(const AString: AnsiString);
@ -988,6 +989,7 @@ begin
begin
SetLength(Result, NewLen);
Move(FBytes[FPosition],Result[1],NewLen);
inc(FPosition,Newlen);
end;
end;