Super-cool info, Charles! Thanks for taking the time to ponder my query.
Very much looking forward to v8.1rc2.
If you can make it to our local LiveCode User Group meeting tonight in
Pasadena I'll buy you dinner. If not, consider the offer open for
whenever we have a chance to meet in person.
Between now and the final release of v8.1 I have two apps that could
benefit from some reliable solution for this in v6.0 (long story as to
why, but that's where we are until we get to v8.1).
Anyone here know a way to prevent situations in which libURL has both
"it" and "the result" empty in v6?
Ancient history, I know, and soon behind me. But it'd be nice to have a
solution in hand to tide me over for these remaining weeks that I'm tied
to that old version.
--
Richard Gaskin
Fourth World Systems
Charles Warwick wrote:
Hi Richard,
I am keen to see as many of these issues resolved as possible, so please
let me know if you have any more details for requests that don't seem to
ever complete or error.
By the sounds of it, you are using a commercial version of LC that
includes tsNet and its libUrl wrapper.
There are a number of fixes for tsNet that will be coming out in 8.1RC2
when it is released (they did not quite make it into RC1).
In particular, the "tsneterr: Sync request already in progress" should
only be seen if you are calling the tsNet handlers directly, not if you
are using libUrl. In RC2, you will only ever see the standard "Previous
request not yet completed" error if you are using libUrl commands.
It also has some improved request handling that will hopefully resolve
some of issues with requests not completing properly.
And in answer to your main question there.... this release will also
include a new function tsNetIsSyncBlocked() that will do exactly what
you want.
This function will return true if an existing synchronous network
request is in progress (libUrl commands like post x to url y, put url x
into y, etc...) that will prevent another synchronous request from being
initiated (async or non-blocking requests can still be made). Note that
in the LC Business edition, multiple requests can be sent at the same
time, so this will always return false.
So, to rewrite the handler you have below, you will be able to simply do:
on mouseUp
if tsNetIsSyncBlocked() is true then
beep
else
get url tURL
if the result is empty then
put it into image 1
else
answer the result
end if
end if
end mouseUp
Regards,
Charles
_______________________________________________
use-livecode mailing list
[email protected]
Please visit this url to subscribe, unsubscribe and manage your subscription
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode