preOpenStack, openStack in Card 1?? Rules conformation

David Burgun dburgun at
Thu Mar 30 14:42:45 EST 2006

On 30 Mar 2006, at 20:34, Richard Gaskin wrote:

> David Burgun wrote:
>> I don't tend to use sub-stacks but I do use multiple cards. I tend  
>> to  have a new mainStack (e.g. separate .rev files) for each main  
>> window.  Although I will could use sub-stacks in the future if  
>> there were a  good reason.
> I use substacks less and less, and rarely in the stack that is the  
> application.  These days my app stack is just a light shell which  
> looks into a Components folder for all the program's meat.  This  
> approach lets me update components from within the application on  
> the fly if needed, right in the user's current session.
>>> Initialization of course needs to be done only once, and the   
>>> mainStack's first card will be the first recipient of the  
>>> startup,  openStack, and preOpenStack messages.  The startup  
>>> message is only  sent at runtime (the IDE gets it in  
>>> development), so to get  initialization in both development and  
>>> runtime I use preOpenStack  instead.
>> I use preOpenStack to initialize the app too. I have the handler   
>> defined in Card 1 of the (only) mainStack, so this should work if  
>> I  add sub-stacks?
> Sure.  As a card script, it'll have no effect on any substacks in  
> the file.
>> I hadn't really thought about it, I'm not sure if the  mainStack  
>> should initialize itself and all it's sub-stacks or whether  sub- 
>> stacks should initialize themselves when they opened.
> I don't have a hard-and-fast rule on that myself, though I tend to  
> initialize only the things I need to when I need them.  I really  
> like getting from double-click to ready-to-work as quickly as  
> possible.  It's been pleasing to eliminate the splash screen from  
> many programs because they load so fast; when the splash is only  
> visible for a fraction of a second it's more of a distraction  
> ("what was that?" than a help. :)

Yes! That's my experience too, I usually do a "wait" for a few  
seconds in the splash screen, but if the user clicks in the splash  
screen, I dismiss it straight away.

>> Also I am not clear of the path the preOpenStack and openStack   
>> handlers take. For a mainStack I'm guessing its:
>> mainStack:Card1:preOpenStack and if not defined mainStack:  
>> preOpenStack.
>> But how about a sub-stack?
>> subStack:preOpenStack ??
> For a diagram of the firing order see:
> < 
> revolution_message_path.html>

Thanks this was very interesting, I'm guessing the path used for  
preOpenStack is the same one as for openCard?

Thanks a lot
All the Best

More information about the Use-livecode mailing list