preOpenStack, openStack in Card 1?? Rules conformation
dburgun at dsl.pipex.com
Thu Mar 30 13:42:45 CST 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:
>> But how about a sub-stack?
>> subStack:preOpenStack ??
> For a diagram of the firing order see:
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