I'm sorry they are not by reference... are by parameter
But I did what you recomend me and it works fine
Thanks a lot...
Alexander!
At 05:32 p.m. 21/04/2006, you wrote:
At 5:08 PM -0400 4/21/06, Alexander Bauza wrote:
- InfoWindow calls ProgressWindow passing InfoWindow by reference
- ProgressWindow calls ThreadA passing ProgressWindow by reference
- ThreadA calls ThreadB passing ProgressWindow by reference
- ThreadB calls ThreadC passing ProgressWindow by reference
- ThreadC calls ThreadD passing ProgressWindow by reference
- ThreadD must close ProgressWindow and InfoWindow
I hope all those "by reference" words don't mean that you're actually
passing object references ByRef. There is pretty much never any point in
doing that. My first suggestion is to remove the ByRef keyword from all
those methods.
In the last step:
a) if I close ProgressWindow I lose the reference to InfoWindow... I
can't close... my app crashes (and the debug doesn't handle it)
Hmm, I wouldn't expect a crash, but it's possible it's confused by the
ByRef, which would let you do nasty things like set the caller's reference
to nil.
Anyway, here's how I would do it: add a CleanUp method on
ProgressWindow. This should tell its InfoWindow to close, and then set
its InfoWindow reference to nil. It should then close itself. ThreadD
then needs only to call CleanUp on its ProgressWindow reference (and then
set that reference to nil).
The "set the reference to nil" steps are just to make sure you don't hang
on to a reference to an already-closed window.
HTH,
- Joe
--
Joe Strout -- [EMAIL PROTECTED]
Available for custom REALbasic programming and training.
_______________________________________________
Unsubscribe or switch delivery mode:
<http://www.realsoftware.com/support/listmanager/>
Search the archives of this list here:
<http://support.realsoftware.com/listarchives/lists.html>
_______________________________________________
Unsubscribe or switch delivery mode:
<http://www.realsoftware.com/support/listmanager/>
Search the archives of this list here:
<http://support.realsoftware.com/listarchives/lists.html>