Topstack and resumeStack

Shari gypsyware at earthlink.net
Thu Nov 7 19:39:01 EST 2002


Dilemma:

The last bug holding this thing up from release:

The primary program is a substack inside a standalone, which I will 
call substackA.

There is an external stack with a substack I will call substackB

The primary code is put into front and back scripts, and substackA 
and mainstackA both have resumeStack handlers that reset this code, 
because when you go outside the stack, the code disappears. 
Something presumably in Metacard unsets the front and back scripts if 
you leave the stack or program.

This works fine when you call another substack in mainStackA.

But when substackA of the standalone opens substackB of an external 
stack, and you close the stack with a Cancel button or other means, 
the resumeStack handler does not happen, and all the code is gone. 
And anything that calls the code produces an error.

I've tried everything.

toplevel substackA
toplevel mainstackA
toplevel someothersubstack in mainstackA
send resumeStack to substackA
go stack substackA
go stack substackA of mainstackA
focus on someObject in substackA
open file someFile, close file someFile

I even tried resetting the code from substackB, in the button you 
click to close the stack.

And so far, the only solution that works, is to totally quit the 
program and make the user relaunch it.

Clicking outside the stack in the Finder window, and then back in the 
stack works, but I know of no way to script it to do this to trigger 
the resumeStack handler.

I doubt anybody will have a fix.  I suspect this is the same anomaly 
that makes the menubar not reset on a Mac, when you change the menu. 
And no form of lock or unlock menus will make the menu update.  The 
only fix is to click outside the stack and back in it.  I found a 
clunky fix for this one, to open a substack offscreen and close it, 
will update the menubar.

But even that does not trigger the resumeStack handler in substackA.

I really hate to make the program quit and the user relaunch it, to 
reset the code.  Especially if they click the Cancel button in 
substackB.

It's a longshot that any of you have a solution, but...

Do you?  Does anybody have a way to trigger a resumeStack handler, to 
force it?  Because apparently Metacard just plain doesn't want to.

I put an "answer openStacks()" handler in the close stack button, to 
see what stacks were open.  And the only open stack is substackA.  So 
no other stacks are pulling the focus away.

Any ideas?  PLEEEEASE any ideas?????

Shari



-- 
--Shareware Games for the Mac--
http://www.gypsyware.com



More information about the metacard mailing list