DelphiFAQ Home Search:
General :: Programming :: Delphi :: VCL
About the Delphi VCL (Visual Component Library)

Articles:

This list is sorted by recent document popularity (not total page views).
New documents will first appear at the bottom.

Only the 40 most recently viewed articles are shown.
You can see the full list here.

Featured Article

Memory leak in TCheckListBox

I just found a memory leak in TCheckListBox (while using Delphi 3).
Every time you check an item at runtime, a wrapper is created in routine TCheckListBox.GetWrapper in CheckLst.pas.

These wrappers were supposed to be freed in procedure TCheckListBox.DestroyWnd; but this procedure is never called. Therefore all these pointers will never be freed.

The workaround to this is to manually clear the listbox when the form is destroyed:

procedure TForm1.FormDestroy(Sender: TObject);
 begin
   CheckListBox1.Items.Clear;
   inherited;
 end;

Generated 16:01:30 on Nov 12, 2018