OK, I think I have this worked out. I spread my scripts around (reminded
me of my HyperCard days and running into the 32k script limit!) and got
everything below the 10 statement limit and it seems to be working now.
Thanks,
Marty
Marty Knapp wrote:
What I have is a standalone that contains template stacks from which
a user creates their own stacks. These stacks are saved outside of
the standalone. I wanted to institute an updating feature, where the
user's stack version is compared to the template (which may have had
revisions from being updated) on launch and if needed to have the
standalone copy the scripts from the template into the user stack,
rather than making them create a new stack. But if any of these
scripts exceed the 10 statement limit it will not work. So I stripped
the template stack of as much code as I could, which also minimizes
the need for updating in the first place :)
But this user stack needs access to the standalone stacks and scripts
to function properly, so now I've found that if the user launches the
standalone by double-clicking their stack, that once in a while the
stacks/scripts it needs are not available and I get errors when the
user stack loads. Not always, but probably 1 in 10 times. I've tried
a number of routines to check for this, but these routines need to be
in the user stack and I run into the 10 statement limit . . .
I hope that's understandable!
Only sort of, I'm still a little confused. But basically when I have a
system with templates, I put almost nothing in the template except
very generic handler calls. I put all the actual, working handlers in
the app's script, where I can change them without updating the templates.
I'm not sure why your templates need to contain any updating code.
They should just call a handler like "checkUpdates", which the main
stack executes. It can then act on any stacks it needs to change (with
the exception of long scripts, but if you use the generic approach to
handlers, that shouldn't be a problem.)
If your users double-click a stack to launch your app, your app will
first get all the startup, preOpenStack, openStack etc. messages, and
then will open the user stack. The mainstack's script should
automatically be shared as a backscript, but if that isn't always
happening you can specifically insert it on preOpenStack. That should
clear up any issues your user stacks may have accessing the mainstack
script. Also make sure the handlers in the user stack pass any
necessary system messages if your mainstack needs to operate on those.
_______________________________________________
use-revolution mailing list
use-revolution@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription
preferences:
http://lists.runrev.com/mailman/listinfo/use-revolution