Jacqueline and Mike, thanks for you help with this.
Just to clarify, I am trying to solve the problem in the environment
where livecode is not running and the user double clicks on the
MasterLibrary stack. This is not a standalone program but a stack that
is being started from the desktop. I am testing on a Mac, but I need to
test on a PC to see if the behavior is any different.
Mike, I think you gave me a great clue. The current logic in the
MasterLibrary is one where the preopenstack handler puts up a splash
screen and sends off a wakeup message to come back in 5 seconds. I was
quite surprised to see how long it actually took the IDE to get
initialized. This is way too long to wait if livecode is already up and
running.
I added some debug code to display the allowinterupt state and found
that at the time my preopenstack handler messages gets called
allowinterupts is false, but in my wakeup hander the allowinterupts is
true. This leads me to believe that I can monitor the allowinterupts at
a faster frequency and do the actual wake up processing when I see it go
true.
Regards,
Mike
On 12/26/14 4:38 PM, Mike Bonner wrote:
It looks like the IDE load order is this:
System params are checked
libraries loaded
globals set
preferences set
icons loaded
patterns loaded
script editor loaded
user icon libraries loaded
error management loaded
tools loaded
menu bar loaded
app overview loaded
message box loaded
debugger loaded
quicktime loaded
plugins loaded
then "revInternail_InitializeFinalSteps..
after that, there are still a couple things such as checking the license
being used (community etc) and setting some os specific parameters. The
very last thing (it seems) is the line "set the allowinterrupts to true"
You can see this info in the script of stack home.rev, handler
revInternal_openStack. Wonder if there is something in that script you can
check to determine if the IDE is far enough along to do the things you
need.
On Fri, Dec 26, 2014 at 1:31 PM, J. Landman Gay <jac...@hyperactivesw.com>
wrote:
On 12/24/2014 11:57 AM, Michael Doub wrote:
I have tried that but I need to process the resumeStack message which
seems to get called as part of the startup process.
Resumestack shouldn't be sent normally when a stack opens. There's a
difference between starting up a standalone and starting the IDE though; it
may be that some of the IDE stacks need to deal with resumestack. But your
own stack shouldn't need to.
I guess I have to
manually set a global flag and have the timed handler unblock the
flag. What is the very first handler that an application can process?
Startup?
Again, it depends. In a standalone the first message is startup. The stack
isn't fully loaded at that point so you can't manipulate stack or card
objects yet but you can set global properties there.
But in the IDE, LiveCode itself catches the startup message and your stack
will never receive it. The first message your stack will get is
preOpenStack.
Is there an ordered list of messages that are fired for startup and
opening a stack? Opening a card would be useful too. I can't say that
I have ever seen this anywhere in the documentation.
It follows the normal message path in reverse, starting with the stack
messages followed by background group messages and then card messages. If
there are card groups on the first card, they get sent last.
--
Jacqueline Landman Gay | jac...@hyperactivesw.com
HyperActive Software | http://www.hyperactivesw.com
_______________________________________________
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your
subscription preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode
_______________________________________________
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode
_______________________________________________
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode