Это самый маленький фрагмент, который я смог получить, чтобы воспроизвести проблему.Приложение Roku выходит без ошибок во второй roMessagePort wait
Sub Main()
u = getStringFromKeyboard("Enter username")
p = getStringFromKeyboard("Enter password")
End Sub
Function getStringFromKeyboard(message = "" As String) As String
result = ""
port = CreateObject("roMessagePort")
screen = CreateObject("roKeyboardScreen")
screen.SetMessagePort(port)
screen.SetDisplayText(message)
screen.AddButton(1, "OK")
screen.Show()
while true
print "waiting..."
msg = wait(0, port)
print "done waiting"
if type(msg) = "roKeyboardScreenEvent" then
if msg.GetIndex() = 1 then
result = screen.GetText()
exit while
end if
end if
end while
screen.Close()
return result
End Function
Roku подскажет правильно для пользователя, но будет только выход в главное меню перед запрашивая пароль. Отладочный вывод указывает на то, что приложение borking на второй вызов ждать():
waiting...
done waiting
waiting...
Это SDK v4.1 и OS v4.2.1006.
У кого-нибудь есть идея, что происходит?
Есть вопросы, касающиеся SO о Roku или их языке BrightScript. Вам, вероятно, будет лучше [размещать на своих форумах разработчиков] (http://forums.roku.com/viewforum.php?f=34) – Charles
Хе-хе, я тоже это сделал, но я решил, что каждый тег должен начать где-то ... :) –