On 10/24/2015 03:10 PM, Aradeonas wrote:
My question stand but I guess problem is in TObjectList but Im not sure
so I made a simple demo like this:

    procedure TForm1.Button1Click(Sender: TObject);
    var
       i: integer;
       b: TButton;
    begin
       list := TObjectList.Create(True);
       for i := 0 to 10000 do
       begin
         b := TButton.Create(Self);
         list.Add(b);
       end;
    end;
    procedure TForm1.Button2Click(Sender: TObject);
    begin
       list.Clear;
       list.Free;
    end;

Form is clean and just have 2 button with their code so I run it and
memory usage in my Windows10 device is about 3mb and then hit the
button1 and memory goes up to 25mb and when I want to free and hit
button2 memory will decrease to 15mb not 3 , just like my main program
that I use TObjectList and will free its objects with remove
function but it will increase memory usage while running.
Did I miss something obvious?

Maybe TObjectlist.Clear does not free objects, in that case you have to iterate through TObjectList and use Remove() which will free objects ?

zeljko

--
_______________________________________________
Lazarus mailing list
Lazarus@lists.lazarus.freepascal.org
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus

Reply via email to