Hi All,

I'm studying how pascal manages strings.  I wrote a simple test program:

program stringtest;
{$mode objfpc}{$H+}
uses Classes, sysutils;
function test: PString;
var
  s : string;
begin
  New(Result);
  Result^ := FloatToStr(Random);
//  s := FloatToStr(Random);
//  Result := @s;
end;
var
  i : Integer;
begin
  Randomize;
  with TList.Create do try
    for i := 0 to 9 do Add(test);
    for i := 0 to Count - 1 do begin
      WriteLn(PString(Items[i])^);
    end;
  finally
    Free;
  end;
end.

The program runs fine, but:

1. I don't know whether I have to MANUALLY free memory for these strings to
prevent leak?
2. Does the IDE provide any facility to analyze memory usage of a program
and report if there are any leaks?  (There are Tools/Leak View, but I don't
know how to get .trc file, or is it what I thought.

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

Reply via email to