How to tell when IDE is done loading

Michael Doub mikedoub at gmail.com
Sat Dec 27 11:12:19 EST 2014


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




More information about the use-livecode mailing list