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