On Sun, 19 Jun 2011 23:57:04 +0200 (CEST) Michael Van Canneyt <mich...@freepascal.org> wrote:
>[...] > >> Ansistring is not capable of keeping more than High(Integer) bytes. > > > > That's not true. At least 3*high(integer) compiles and runs fine here on > > 64bit: > > > > var > > s: ansistring; > > begin > > SetLength(s,3*High(integer)); > > s[length(s)]:='A'; > > s[length(s)]:='B'; > > writeln(s[length(s)],' ',length(s)); > > end. > > > > I don't know where the real limit is. > > Hm. I checked again. > > Indeed, the hidden ansistring record contains > TAnsiRec = Packed Record > Ref, > Len : SizeInt; > First : Char; > end; > Which in fact means that the limit is the OS memory limit. Now it is no longer hidden. ;) Mattias _______________________________________________ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal