Because LC can't do two things at once.

Bob Sneidar bobsneidar at
Sun Feb 22 15:06:44 EST 2015

I have stated before that if you only need to do two things at once, and not many, you can simply create a standalone app that you can send messages to (with Windows you would probably need socket communications) and then that app would handle the process and return whatever data you needed in a callback.

I have tested the concept on my Apple OS using Applescript and it works a peach. I created a progress window where I pass a text message to display, along with a command to show and hide the window, so you can get it out of the way when not processing anything.

In that standalone you can pretty much do anything you want. If you wanted to give it a string of things to do, simply have the handler that receives the socket communications call each of your functional handlers using send <command> in 0 seconds, queueing up the commands as necessary.

It’s conceivable that if you wanted to do more you could have any number of standalones running at one time, although users might get a little nervous seeing a number of faceless apps running in their interface and try to force quit them. Your main app could always launch processes as needed by first seeing if they are running through a shell call, and then executing and terminating the standalones as needed.

It seems klunky when I describe it, but it is really quite elegant when you see it. I did it to solve the problem where an animated icon like a spinning ball would only animate when the engine was idle. But really, there is no limit to what you might be able to do with a little engineering.

Bob S

On Feb 19, 2015, at 10:06 , Richmond <richmondmathewson at<mailto:richmondmathewson at>> wrote:

That's a quote from another posting . . .

this might be the rock on which Livecode founders.

Other languages can do two, or more, things at once . . . I am either too out of touch
with other computer languages, or I don't know enough about how computer languages
talk to computers (which, de facto, is pretty much the same thing), but I wonder WHY
Livecode cannot do two things at once . . .

AND, could it be revamped so that it could do two things at once?

More information about the Use-livecode mailing list