[fpc-pascal] Objects, open arrays and memory leaks
    Santiago A. 
    svaa at ciberpiula.net
       
    Thu Jan 14 13:10:15 CET 2016
    
    
  
Hello:
I'm using Free Pascal Compiler version 3.0.0 [2015/11/16] for i386
I'm getting memory leaks (on winXP and Linux) . I have tracked to this.
(Note: they are objects, not classes)
type
TArray=object
  InnerList:array of integer;
  constructor Init;
end;
constructor TArray.Init;
begin
 SetLength(InnerList,10);
end;
procedure test;
var
  obj:TArray;
begin
  obj.init;
  obj.init;
end;
When I call twice the constructor "init" there is a memory leak. The
open array of first init is not freed;
init just sets the length of an open array to 10. I mean, no pointer or
object created.
I know open array are implemented pointers but I supposed that runtime
would take care of it, so I was using the constructor to clear object
and start from scratch.
What I am missing?
-- 
Saludos
Santiago A.
    
    
More information about the fpc-pascal
mailing list