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