Hi Richard,
On 30 Mar 2006, at 17:20, Richard Gaskin wrote:
For behaviors specific to my mainstack, I tend to put those in the
mainStack's card script (or if there are multiple cards in my
mainStack -- rare for me since I tend to use the mainStack as a
repository of handlers -- I use a group in the mainStack). I do
this because the mainStack's stack script is available to all
substacks, and the alternative requires a decision point ("if the
short name of the target is the short name of me"); to minimize
complexity I try to keep decision points to a minimum (more on code
complexity and its implications for maintenance coming in an
article at revJournal soon).
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.
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? 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.
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 readability I tend to structure my initialization like this:
on preOpenStack
InitApp
end preOpenStack
on InitApp
InitGlobals
InitFonts
InitColors
InitWindows
InitMenus
end InitApp
...where each of those "Init*" handlers are also included the card
script.
I do it like this too.
As a matter of tidiness I usually pass all system messages, in case
some other object is added down the road which needs them. With
initialization, however, I prefer that everything be handled in one
place so I don't pass that preOpenStack message.
I'm not sure if this is exactly what you were looking for; hope it
helps.
Yes, it helps a lot!
Thanks Again
Dave
_______________________________________________
use-revolution mailing list
[email protected]
Please visit this url to subscribe, unsubscribe and manage your subscription
preferences:
http://lists.runrev.com/mailman/listinfo/use-revolution