2012-02-22 4 views
2

Ceci est le plus petit extrait que j'ai pu obtenir pour reproduire le problème.L'application Roku se ferme sans erreur lors de la deuxième attente de la fonction de téléchargement

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 

Le Roku demandera correctement le nom d'utilisateur, mais simplement revenir au menu principal avant de demander le mot de passe. La sortie de débogage indique que l'application est Borking sur le deuxième appel à attendre():

waiting... 
done waiting 
waiting... 

Ce SDK est v4.1 et OS v4.2.1006.

Quelqu'un a une idée de ce qui se passe?

+0

Il n'y a pas d'autres questions sur SO concernant le Roku ou leur langage BrightScript. Vous allez probablement être mieux (poster sur leurs forums de développement) (http://forums.roku.com/viewforum.php?f=34) – Charles

+2

Heh ouais je l'ai fait aussi, mais j'ai pensé que chaque tag doit commencer quelque part ... :) –

Répondre

5

Réponse de l'utilisateur gonzotek sur les forums de développeurs Roku:

Créer un écran de façade. Le roku quitte l'application immédiatement après la fermeture du dernier écran . Vous créez le premier écran de clavier et également le fermer dans la fonction getStringFromKeyboard, et puisqu'il n'y a aucun autres écrans ouverts à ce moment, c'est quand le Roku tue l'application. Voir l'explication de RokuKevin ici: viewtopic.php? P = 162550 # p162550 (note: il se réfère à «scintillement de l'écran», qui peut avoir été vrai quand il l'a écrit, mais de nos jours, il est nécessaire d'avoir toujours un écran coincé ouvrez à l'arrière de votre pile pour la durée de vie de votre application: viewtopic.php? p = 321402 # p321402).

Questions connexes