[lazarus] Order of destruction in TCustomListBox

Mattias Gaertner nc-gaertnma at netcologne.de
Sat Dec 13 12:43:50 EST 2003


On Sat, 13 Dec 2003 17:27:00 +0100  Micha Nelissen <micha at neli.hopto.org>
wrote:

> Mattias Gaertner wrote:
> > On Fri, 12 Dec 2003 17:02:56 +0100  Vincent Snijders <vslist at zonnet.nl>
> > wrote:
> > 
> >>As I am implementing the TCheckListBox items collection for win32, I
> >>would like to access the listbox handle, while in the destructor of the
> >>items collection. Unfortunately the window (+ items + item data stored
> >>in it) are lost before the destructor for the items collection is
> >>called. 
> >>
> > The Destroying; can accelerate the destruction and DestroyWnd will clean
> > up. Maybe such things should be added to more controls.
> > 
> > I think, we should keep fItems like the VCL until after the "inherited
> > Destroy;".
> 
> Do you know why the order is like it is in the VCL?

Only Borland knows for sure.
Probably because calling the inherited Destroy produces notifications, which
can call code, that accesses the listbox items and would otherwise need some
ifs.


Mattias






More information about the Lazarus mailing list