Checking to see if internet stuff is finished

Chipp Walters chipp at chipp.com
Fri Jun 20 18:25:00 EDT 2003


Edwin,

(please try and use plain text posting:-)

Are you using a post or get command to retrieve the URL? If so, then these are considered 'blocking' commands and work synchronously.

For instance.

on mouseUp
   put URL "http://www.mypage.com?name=Edwin" into tXML
   put tXML into fld 1
end mouseUp

uses the 'get' form of retrieving data from a server. The variable tXML is only set after the data is finished being recived from the server. The same is true with:

put "name=Edwin" into tData
post tData to URL "http://www.mypage.com"
put it into fld 1

uses the 'post' form (which can hold larger chunks of data). Again, the return data is not placed into the variable it until post is finished.

So, if you don't want someone to click a button, etc.. I'd recommend do something like:

on mouseUp
   ImBusy
   put URL "http://www.mypage.com?name=Edwin" into tXML
   put tXML into fld 1
   ImNotBusy
end mouseUp

on ImBusy
   show img "spinningIcon.gif"
   show btn "coverEverything"
   put "Please wait...downloading URL" into fld "status"
end ImBusy

on ImNotBusy
   hide img "spinningIcon.gif"
   hide btn "coverEverything"
   put "Successful download" into fld "status"
end ImNotBusy

Create a 'clear' button at the top layer which covers everything (except a Stop/Reset button). When your app is looking for a URL, it will display this button along with an animated GIF and a status string in a field at the bottom of the page.

Hope this helps,

Chipp





> -----Original Message-----
> From: use-revolution-admin at lists.runrev.com
> [mailto:use-revolution-admin at lists.runrev.com]On Behalf Of Edwin Gore
> Sent: Friday, June 20, 2003 8:34 PM
> To: use-revolution at lists.runrev.com
> Subject: Checking to see if internet stuff is finished
> 
> 
> I am very confused when it comes to doing some of the internet 
> related stuff in RunRev and figuring out when things have or have 
> not, finished.
> 
> For example, I have an application that uploads a bunch of stuff 
> to an FTP site - that was pretty easy to figure out. I put up a 
> modal dialog, and when a file finishs uploading, I have whichever 
> url command it is that I am using set to send a message, and the 
> handler for that message sends ftps the next file in the queue 
> up. Not elegant, but it works, and let's me make sure that the 
> user isn't doing anything else in my app while it's uploading.
> 
> Now, in another section of the same app I grab some XML that 
> includes an image URL, sets an image object's filename to that 
> url, then exports the image to a file. The problem that I am 
> running into is that the script to do all of this runs, and 
> returns control to the user, but it hasn't REALLY finished yet - 
> the user can navigate away from the card that has the image 
> object, and 20 seconds later I get an error message telling me 
> that the image object doesn't exist - since the user is on a 
> different card, without the image object.
> 
> Now, I know that in my script that does the fetching and so on, I 
> could have it remember the card number or whatever of the correct 
> card and specifically whack the url into the image object there, 
> but I don't wanna. The user could just as easily quit the 
> application before the image has downloaded, or lots of other things.
> 
> What I really want to do is put up a dialog or somethign saying 
> "Please Wait" until the entire process has finished.
> 
> Unfortunately I am baffled by the ways that the different kinds 
> of internet related commands work, and by what appear to be 
> differences in the commands between versions. I have looked 
> through the archives and found some ideas, but they seem to be 
> contradictory (based on version?) and it getting frustating.
> 
> Anybody have any hints?
> _______________________________________________
> use-revolution mailing list
> use-revolution at lists.runrev.com
> http://lists.runrev.com/mailman/listinfo/use-revolution
> 




More information about the use-livecode mailing list