What about if you localize the creation of a window? For example, I sometimes will use a sub that creates a window only when called and when the sub returns the window and any reference to it is undef?
From: Jeremy White [mailto:email@example.com]
Sent: Friday, November 21, 2003 3:55 AM
To: Peter.Eisengrein@atx.com; firstname.lastname@example.org;
Subject: RE: [perl-win32-gui-users] Destroying a window
Unfortunately undef does not release the resources that window uses. So, if
you need to dynamically create (and destroy) a window continually then at
some point you will run out of memory.
>From: Peter Eisengrein <Peter.Eisengrein@atx.com>
>To: "'Cruickshanks, Darin'" <email@example.com>,
>Subject: RE: [perl-win32-gui-users] Destroying a window
>Date: Thu, 20 Nov 2003 12:14:22 -0500
>One quick and dirty way to do it would be undef($Window); but that may
>other problems if you have other widgets that reference the window. For
>example, if you have a Timer that updates a clock on $Window every second,
>you will begin to get errors every second. So, unless you *really* want to
>eliminate it, you might be better to just Hide it.
>From: Cruickshanks, Darin [mailto:firstname.lastname@example.org]
>Sent: Thursday, November 20, 2003 5:21 AM
>Subject: [perl-win32-gui-users] Destroying a window
>How do you destroy a window in Win32::Gui? I read about a Destroy() method
>but this doesn't seem to help. In the past I have just hidden any windows
>that I wanted to remove but I now nee to destroy one completely.
>Labs Manager, Computing Service
>University of Essex
> <mailto:email@example.com> firstname.lastname@example.org
Sign-up for a FREE BT Broadband connection today!