How to interrupt a recurring message? (SOLVED)

Got a LiveCode personal license? Are you a beginner, hobbyist or educator that's new to LiveCode? This forum is the place to go for help getting started. Welcome!

Moderators: FourthWorld, heatherlaine, Klaus, kevinmiller

FourthWorld
VIP Livecode Opensource Backer
VIP Livecode Opensource Backer
Posts: 10052
Joined: Sat Apr 08, 2006 7:05 am
Contact:

Re: How to interrupt a recurring message?

Post by FourthWorld » Thu Feb 18, 2016 2:54 pm

SparkOut wrote:Windows has always needed and still does (up to 7.1.1 - not tested with 8 ) require a wait with messages inside a tight repeat loop. It's not explicitly for old Macs.
Not always; back in the MetaCard days the engine updated fine on Windows.

In the discussion around this during the Cocoa transition Mark Waddingham noted that the language support for determining when redraws happen and don't happen is the lockScreen global property. So if you want to temporarily stop screen updates (useful in some cases as those can eat up a lot of time) use "lock screen"; otherwise, what you're telling LC to do should be visible to the user.

If the LiveCode Windows engine no longer updates smoothly that would be a bug. Please submit a recipe to the bug queue so it can be addressed:
http://quality.livecode.com/
Richard Gaskin
LiveCode development, training, and consulting services: Fourth World Systems
LiveCode Group on Facebook
LiveCode Group on LinkedIn

jacque
VIP Livecode Opensource Backer
VIP Livecode Opensource Backer
Posts: 7393
Joined: Sat Apr 08, 2006 8:31 pm
Contact:

Re: How to interrupt a recurring message? (SOLVED)

Post by jacque » Thu Feb 18, 2016 5:12 pm

I can't use send message to me in xx sec, because I don't want to loose time.
Just for future reference, you can send a message "in 0" and it will execute immediately after the current handler completes. You won't lose any time.

If there are other pending messages in the queue you can send a message in -1 which will place it at the front of the queue ahead of all other messages and execute immediately before them.
Jacqueline Landman Gay | jacque at hyperactivesw dot com
HyperActive Software | http://www.hyperactivesw.com

SparkOut
Posts: 2947
Joined: Sun Sep 23, 2007 4:58 pm

Re: How to interrupt a recurring message?

Post by SparkOut » Sun Feb 21, 2016 3:30 pm

FourthWorld wrote:
SparkOut wrote:Windows has always needed and still does (up to 7.1.1 - not tested with 8 ) require a wait with messages inside a tight repeat loop. It's not explicitly for old Macs.
Not always; back in the MetaCard days the engine updated fine on Windows.

In the discussion around this during the Cocoa transition Mark Waddingham noted that the language support for determining when redraws happen and don't happen is the lockScreen global property. So if you want to temporarily stop screen updates (useful in some cases as those can eat up a lot of time) use "lock screen"; otherwise, what you're telling LC to do should be visible to the user.

If the LiveCode Windows engine no longer updates smoothly that would be a bug. Please submit a recipe to the bug queue so it can be addressed:
http://quality.livecode.com/
It's already in there http://quality.livecode.com/show_bug.cgi?id=13142, and as Tom reports, it's been there in every version he's worked with, as with me - I should have said since version 2.7. I'm not sure I think of it as a bug, more like a feature to be aware of like locking and unlocking screen/messages. But it is something everyone should be aware of, so it's good it's in the QCC, although it appears not to have gained much scrutiny.

mwieder
VIP Livecode Opensource Backer
VIP Livecode Opensource Backer
Posts: 3581
Joined: Mon Jan 22, 2007 7:36 am
Contact:

Re: How to interrupt a recurring message? (SOLVED)

Post by mwieder » Sun Feb 21, 2016 4:17 pm

If there are other pending messages in the queue you can send a message in -1 which will place it at the front of the queue ahead of all other messages and execute immediately before them.
Wait wot????
OK - I should have known that *you* of all people would figure out how to send a message back in time.

jacque
VIP Livecode Opensource Backer
VIP Livecode Opensource Backer
Posts: 7393
Joined: Sat Apr 08, 2006 8:31 pm
Contact:

Re: How to interrupt a recurring message? (SOLVED)

Post by jacque » Sun Feb 21, 2016 6:51 pm

Well yes, but to be fair, when I went back in time I found the info in Dar's head. I wish Dar would come back, there was a lot more stuff in his head I didn't have time to collect.
Jacqueline Landman Gay | jacque at hyperactivesw dot com
HyperActive Software | http://www.hyperactivesw.com

Post Reply