Repeat Loops Blocking Handlers-Screen Update?
Sivakatirswami
katir at hindu.org
Tue Jul 21 20:23:16 EDT 2009
I have what I think is a new phenomenon in 3.5... I could have sworn
this was not a problem in previous versions, correct me if I'm wrong
I like to use a small field on the interface to provide low noise
feedback to the user rather than throwing up a big striking modal dialog.
I'll typically have a small feedback field on the UI and then have this
in the stackscript
on showFeedback tMsg
put tMsg into fld "FeedbackMsg"
show fld "FeedbackMsg"
send hideFeedback to me in 10 seconds
end showFeedback
on hideFeedback
hide fld "feedbackmsg"
put empty into "feedbackmsg"
end hideFeedback
Now... I have an application that mounts our server over the LAN, using
Apples script, then from a button I issue a call to the stack script to
get a collection. the script proceeds to set default directories and do
some pretty intense directory walking then load a file list in the uswer
interface. Basically this is a flat file based run-time update index to
audio collections on the server. This all works amazingly well, except
that my button issues the feedback-status update before issuing the
directory walker commands, the interface never responds.. My message
field is never shown. I've tested from the msg box and sending
"showfeedback ("Loading...") works fine... nothing wrong with the
scripts... something is blocking the screen refresh update, even though
I issue that cmd *before* the big dig repeat loops to get file lists
from the server...
Any clues?
Also the cmd to empty the index field is not executed if I put the
handlers into that stack command
command LoadCollection pCollection
showFeedback ("Loading...") # this and the next cmd are
executed, but
put "" into fld "currentindex" # we never see it on screen until
the following are done:
clearGlobals
digFiles pCollection
LoadIndexArray
end LoadCollection
IN the above...I never actually see the fld "CurrentIndex" go blank and
the feedback field showing "Loading..." on appears after all the repeat
loops have done their job.
More information about the use-livecode
mailing list