I don't think that's what he's saying at all. You just have to get a little creative. This is how I'd do it...
WARNING: psuedo-code
' Create message port that everything will use
messagePort = CreateObject("roMessagePort")
' Create url transfer for first URL
download1 = CreateObject("roUrlTransfer")
download1.SetPort(messagePort)
download1.SetUrl(url1)
Create url transfer for second URL
download2 = CreateObject("roUrlTransfer")
download2.SetPort(messagePort)
download2.SetUrl(url2)
' Create and show wait dialog
waitDialog = CreateObject("roMessageDialog")
waitDialog.SetMessagePort(messagePort)
' Add your waitDialog button(s)
' Show waitDialog
waitDialog.Show()
' Start downloads
download1.AsyncGetToString()
download2.AsyncGetToString()
' Listen for message
While True
msg = wait(10, messagePort)
If msg <> invalid Then
If Type(msg) = "roUrlEvent" Then
' Got a URL event, figure out which download it's for and process it
If msg.GetSourceIdentity() = download1.GetIdentity() Then
download1Result = msg.GetString()
' Do download1 processing
Else If msg.GetSourceIdentity() = download2.GetIdentity() Then
download2Result = msg.GetString()
' Do download2 processing
End If
Else If Type(msg) = "roMessageDialogEvent") Then
' Got a message dialog event, probably cancel
If msg.IsButtonPressed() Then
If msg.GetIndex() = cancelButton Then
' Kill the active downloads, and close the wait dialog
download1.AsyncCancel()
download2.AsyncCancel()
waitDialog.Close()
Exit While
End If
End If
End If
End If
End While
My Channels: http://roku.permanence.com - Twitter: @TheEndlessDev
Instant Watch Browser (NetflixIWB), Aquarium Screensaver (AQUARIUM), Clever Clocks Screensaver (CLEVERCLOCKS), iTunes Podcasts (ITPC), My Channels (MYCHANNELS)