Hum, indeed dynedit.face is not removed and if you free face at destroy,
there is a error:

procedure tmainfo.mainformdestroy(const sender: TObject);
begin
  dynedit.face.free; // crash
  dynedit.free;
end;

What is strange is that with frame only all is or and removed correctly at
destroy.

procedure tmainfo.mainformcreated(const sender: TObject);
begin
  dynedit := tedit.Create(self);
  dynedit.bounds_cx := 100;
  dynedit.bounds_cy := 21;
  {.$define use_existing_frame}
{$IFDEF use_existing_frame}
  dynedit.frame := tedit1.frame;
 {$ELSE}
  dynedit.frame := tcaptionframe.create(iscrollframe(self));
  dynedit.frame.caption := 'Hello';
 // no face created = no memory leak  
{$ENDIF}
 insertwidget(dynedit, makepoint(8, 48));
  dynedit.show;
end;

procedure tmainfo.mainformdestroy(const sender: TObject);
begin
   dynedit.free;
end;

________________________

Heap dump by heaptrc unit of /home/fred/memoryleak/dynedit
979 memory blocks allocated : 171948/174248
979 memory blocks freed     : 171948/174248
0 unfreed memory blocks : 0
True heap size : 131072
True free heap : 131072
_________________________


So the problem is with TFace.

At the moment I dont see something, maybe it will appear.

Fre;D



--
Sent from: http://mseide-msegui-talk.13964.n8.nabble.com/


_______________________________________________
mseide-msegui-talk mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/mseide-msegui-talk

Reply via email to