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 <[email protected]> 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 tomanually 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 andopening 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 | [email protected] HyperActive Software | http://www.hyperactivesw.com _______________________________________________ use-livecode mailing list [email protected] Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode_______________________________________________ use-livecode mailing list [email protected] Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode
_______________________________________________ use-livecode mailing list [email protected] Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode
