preOpenStack

J. Landman Gay jacque at hyperactivesw.com
Sun Sep 7 18:18:37 EDT 2014


On 9/7/2014, 3:55 PM, William Prothero wrote:
> I understand that if a stack is opened, then the preOpenStack handler
> is triggered (it is in the first card), but if I go to another card
> on the same stack with a different preOpenStack handler on it, I
> would assume the preOpenStack handler wouldn’t get triggered because
> a new stack hasn’t been opened. Easy to test, but I thought I’d ask.

Right. The preOpenStack and openStack messages are only sent once when a 
stack first opens. It always opens on the first card. As a user you 
won't see that if a script requests "card 2 of stack x" but it still 
goes to card 1 first and then moves to card 2. I don't believe a 
preOpenStack handler on card 2 will ever trigger.

It seemed non-intuitive to me too that you could put a preOpenStack 
handler in a card, because the card wasn't open yet. That was 
wrong-thinking. I asked Mark Waddingham about it some years ago and he 
said that the entire stack has to load at once when it opens, otherwise 
there would be no way a script could manage any of the objects or card 
properties. The messages are sent in a specific order, but in reality 
the entire structure is already in RAM before the messaging starts.

-- 
Jacqueline Landman Gay         |     jacque at hyperactivesw.com
HyperActive Software           |     http://www.hyperactivesw.com





More information about the use-livecode mailing list