Register/Unregister and destroy

I have a ImageList and a pointer Buttons to this ImageList. When the
ImageList is destroyed the Buttons pointer will of course not be valid
anymore! Is there a way that when the ImageList will be/is destroyed it
will call a user defined routine so I can update the Buttons pointer
to nill? I know the ImageList.OnChange will be called when it's
destroyed but also of course when it's changed in any way (for example
a new picture). So how can I identify if the OnChange is a destroy?
(I know there's a csDestroying in the component status).
Another problem arises when you have multiple objects sharing one
ImageList, because the ImageList.OnChange can only have one Routine

The solution to many of these questions are the Register/Unregister
methods of ImageList. I tried them, but for some strange(?) reason
only ImageList changes are notified to my routine and not when the
ImageList is destroyed!

Can anyone help me? Thanks in advance...

Please reply to my email address ( because I are
not often in this newsgroup and then I may miss some replys :(

CU! Jan Oonk
This message was sent by Trax/SPiRiT!
Please EMAIL all replys to
Because of mail-server crash any mail send to
me during February 25 till February 28 never
reached me! Please *RESEND*