On 26 May 2006, at 14:10, L505 wrote:
I'm lacking some memory concept here. Below program doesn't work
unless setlengths
are called first on the shortstrings.
program Project1;
{$mode objfpc}{$H+}
var
filename: string;
last3: string[3];
last4: string[4];
begin
filename:= 'test';
filename:= filename+ 'ing.pas';
setlength(last3, 3);
last3[1]:= filename[length(filename)-2];
last3[2]:= filename[length(filename)-1];
last3[3]:= filename[length(filename)];
writeln('debug last3: ' + last3);
The length bytes of those shortstrings aren't initialised if you
don't do setlength(). It has nothing to do with memory allocation,
but with initialisation.
Jonas
_______________________________________________
fpc-pascal maillist - fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-pascal