Lock Screen does NOT work!

Ralph DiMola rdimola at evergreeninfo.net
Thu Jan 24 14:48:31 EST 2019

Poof.. Mind not blown but enlightened. That explains some screen update
problems I've had in the past. Thanks!

> Well then the problem is, send in time cancels ALL my screen locks! One
idle message and the engine clears all the locks!

Ralph DiMola
IT Director
Evergreen Information Services
rdimola at evergreeninfo.net

-----Original Message-----
From: use-livecode [mailto:use-livecode-bounces at lists.runrev.com] On Behalf
Of Bob Sneidar via use-livecode
Sent: Thursday, January 24, 2019 2:29 PM
To: How to use LiveCode
Cc: Bob Sneidar
Subject: Re: Lock Screen does NOT work!

For those interested, I've had a bit of a revelation concerning datagrids
and the selectionChanged handler. Here's the problem. 

I use datagrids extensively. I have code in my selectionChanged handlers in
the datagrids that update the card objects; fields buttons etc. It's
convenient for me therefore when I change the hilited line by script to
simply send selectionChanged to the appropriate datagrid. This however has
uncovered an anomaly (I don't say bug) where an endless recursion can occur
in the datagrid library if selectionChanged gets called again while the
first is still executing. 

My solution heretofore has been to send in time whenever I do this with a
datagrid. Well then the problem is, send in time cancels ALL my screen
locks! One idle message and the engine clears all the locks! 

So now I see that I have to move the code which updates the card OUT of the
selectionChanged handler into it's own custom handler, and call that handler
when I need to do so. I guess this goes back to an old "best practice"
coding concept I heard some time ago about always using custom handlers to
do the work, instead of the built in handlers. Now I see why that is such
good advice. 

I hope my little journey and conclusions will help to prevent anyone else
from stumbling on similar problems. 

Bob S

> On Jan 24, 2019, at 11:00 , Bob Sneidar via use-livecode
<use-livecode at lists.runrev.com> wrote:
> Hmmm... Belay that. I bet I am using send in time somewhere prior to the
datagrid updates. That would pop an idle message and cancel the screen lock.

> Bob S
>> On Jan 24, 2019, at 10:52 , Bob Sneidar via use-livecode
<use-livecode at lists.runrev.com> wrote:
>> Hi all. Bold subject line I know. Here's how I know. 
>> I used Find in This Stack and it's SubStacks to find "lock screen". I
replaced all with "-- lock screen" effectively commenting out ALL of the
lock screen statements. I verified by checking one of the found scripts and
indeed lock screen is commented out! With me so far? 
>> I then go to the ONE SCRIPT that I am testing with and uncomment that ONE
LINE with the lock screen statement. I execute the code, the screen does NOT
LOCK. I still see several updates, like a datagrid loading new data, then
loading a different dataset! I should only see the loading of the second
dataset! BOO!!!
>> I suspected this was the case for some time but never got around to
testing this for sure until just now. Something is either unlocking the
screen or else is never locking it, and it isn't my code. 
>> Bob S

use-livecode mailing list
use-livecode at lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription

More information about the Use-livecode mailing list