Re: [Lazarus] typinfo routine gives memory leak
On 20/9/11 10:02, Martin wrote: On 20/09/2011 21:59, Howard Page-Clark wrote: The following (button and memo) program loses 276 bytes heap memory that are not recovered. ... procedure TForm1.BGetPropertiesClick(Sender: TObject); var ppl: PPropList; pl: TPropList; ppi: PPropInfo; pi: TPropInfo; begin GetPropList(TEdit, ppl); pl := ppl^; ppi := pl[0]; pi := ppi^; if PropIsType(TEdit, pi.Name, tkAString) then ShowMessageFmt('TEdit''s first PropList entry is %s of tkAString',[pi.Name]); end; end. Anyone know what I'm doing wrong? afaik you need to FreeMem(ppl); Many thanks H. -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
[Lazarus] typinfo routine gives memory leak
The following (button and memo) program loses 276 bytes heap memory that are not recovered. unit Unit1; {$mode objfpc}{$H+} interface uses Forms, StdCtrls; type TForm1 = class(TForm) BGetProperties: TButton; Memo1: TMemo; procedure BGetPropertiesClick(Sender: TObject); end; var Form1: TForm1; implementation uses Dialogs, typinfo; {$R *.lfm} procedure TForm1.BGetPropertiesClick(Sender: TObject); var ppl: PPropList; pl: TPropList; ppi: PPropInfo; pi: TPropInfo; begin GetPropList(TEdit, ppl); pl := ppl^; ppi := pl[0]; pi := ppi^; if PropIsType(TEdit, pi.Name, tkAString) then ShowMessageFmt('TEdit''s first PropList entry is %s of tkAString',[pi.Name]); end; end. Anyone know what I'm doing wrong? Howard -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] typinfo routine gives memory leak
On 20/09/2011 21:59, Howard Page-Clark wrote: The following (button and memo) program loses 276 bytes heap memory that are not recovered. ... procedure TForm1.BGetPropertiesClick(Sender: TObject); var ppl: PPropList; pl: TPropList; ppi: PPropInfo; pi: TPropInfo; begin GetPropList(TEdit, ppl); pl := ppl^; ppi := pl[0]; pi := ppi^; if PropIsType(TEdit, pi.Name, tkAString) then ShowMessageFmt('TEdit''s first PropList entry is %s of tkAString',[pi.Name]); end; end. Anyone know what I'm doing wrong? afaik you need to FreeMem(ppl); -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus