On 9/19/12 12:52 PM, Richmond wrote:
Richmond had a genius moment :)

I made a wee stack called "LOCKER" with
two buttons; "Triple-Play" and "Single Undo" and
a fld "fff" containing the text "UNLOCKED!"

the script of btn "Triple-Play" goes like this:

on mouseUp
    set the vis of fld "fff" to false
     set the lockscreen to true
     set the lockscreen to true
     set the lockscreen to true
end mouseUp

the script of btn "Single Undo" goes like this:

on mouseUp
    set the lockscreen to false
    if the lockscreen is false then
      set the vis of fld "fff" to true
    end if
end mouseUp

HOT, SCREAMING STUFF!

so; click on btn "Triple-Play" which locks the screen THRICE,

then; click on btn "Single Undo" which unlocks the screen ONCE,

and,

"Bingo", "Kazoom", "Jumping Space Potatoes";

fld "fff" becomes visible.

That's not really a valid test because the engine will be idling between the handler executions. All lockscreens are cancelled at idle.

Locks are nested. If one handler calls another, they remain nested. As soon as the engine gets a chance to do its housekeeping, lockscreens are reset.

For example:

on mouseUp
 set the lockscreen to true
 commandOne
 put the lockscreen -- should be true
end mouseUp

on commandOne
 set the lockscreen to true
 get 1+1
 set the lockscreen to false
end commandOne

When these handlers are done, lockscreen will be false because the engine will reset it.

--
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

Reply via email to