On Thu, 2 Feb 2012 00:03:15 +0200
Graeme Geldenhuys <graemeg.li...@gmail.com> wrote:

> Hi,
> 
> What am I doing wrong in the following code? It always fails on test
> number 2. The DataString property is returning garbage, and not the
> value equal to the 'Graeme Geldenhuys' string.
> 
> 
> ----------------------------------------------
> var
>   srcstream: TStringStream;
>   s, f: string;

I guess string is an ansistring?

>   i: integer;
> begin
>   s := 'Graeme Geldenhuys';
>   srcstream := TStringStream.Create('');
>   { I purposely do this, because in my real-world code TStringStream will
>     be populated with many .Write() statements. }
>   i := srcstream.Write(s, Length(s));

if s<>'' then // this if is not needed in this case
  srcstream.Write(s[1], Length(s))

>   CheckEquals(i, Length(s), 'failed on length of string');    // passes
>   srcstream.Seek(0, soFromBeginning); // not sure if needed
>   f := srcstream.DataString;
>   CheckEquals(s, f, 'Failed on string content 2');    // Fails!
>   srcstream.Free;
> end;
> ----------------------------------------------


Mattias
_______________________________________________
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-pascal

Reply via email to