Forum Discussion

matrixebiz's avatar
matrixebiz
Roku Guru
9 years ago

SDK Development Guide Channel

Hello, does anyone have a completed SceneGraph channel from this tutorial?
https://github.com/rokudev/docs/tree/ma ... evelopment

I thought I followed the guide to the letter and on the "Building a user interface in SceneGraph" page, step 7 where it says;
"If you've had a chance to build and run the channel thus far, you may have noticed that all the content is in one row."

I tried to test it but when I try to load the channel, I get a compilation error trying to load it onto my Roku 😞 
I'm trying to learn this coding stuff but not having any luck 😞 Thx
Here is what I did if you want to see if anything is wrong : https://www.dropbox.com/s/kwvadlxrs6ez0oq/manifest.zip?dl=0

3 Replies

  • Yes I see what's wrong with your zip;

    sub Main()

        screen = CreateObject("roSGScreen") ‘Create Screen object


    what you have is above.  what you need is below.  there is one character changed:

    sub Main()

        screen = CreateObject("roSGScreen") 'Create Screen object


    it's the single quote.  Your curvy single quote character is not being processed as a comment, it's generating a syntax error.
  • Okay, thx, I also had to move a script line out of the children part in HomeScene.xml, I'm past that now but the channel just loads a black screen and says this in the debugger;

    ------ Compiling dev 'Test SG' ------

    ------ Running dev 'Test SG' main ------
    BRIGHTSCRIPT: ERROR: Runtime: FOR EACH value is Invalid: pkg:/components/FeedParser                          .brs(67)
    BRIGHTSCRIPT: ERROR: Runtime: FOR EACH value is Invalid: pkg:/components/FeedParser                          .brs(67)
    BRIGHTSCRIPT: ERROR: Runtime: FOR EACH value is Invalid: pkg:/components/FeedParser                          .brs(67)
    BRIGHTSCRIPT: ERROR: Runtime: FOR EACH value is Invalid: pkg:/components/FeedParser                          .brs(67)
    BRIGHTSCRIPT: ERROR: Runtime: FOR EACH value is Invalid: pkg:/components/FeedParser                          .brs(67)
    BRIGHTSCRIPT: ERROR: Runtime: FOR EACH value is Invalid: pkg:/components/FeedParser                          .brs(67)
    BRIGHTSCRIPT: ERROR: Runtime: FOR EACH value is Invalid: pkg:/components/FeedParser                          .brs(67)
    BRIGHTSCRIPT: ERROR: Runtime: FOR EACH value is Invalid: pkg:/components/FeedParser                          .brs(67)
    BRIGHTSCRIPT: ERROR: Runtime: FOR EACH value is Invalid: pkg:/components/FeedParser                          .brs(67)
    BRIGHTSCRIPT: ERROR: Runtime: FOR EACH value is Invalid: pkg:/components/FeedParser                          .brs(67)
    BRIGHTSCRIPT: ERROR: Runtime: FOR EACH value is Invalid: pkg:/components/FeedParser                          .brs(67)
    BRIGHTSCRIPT: ERROR: Runtime: FOR EACH value is Invalid: pkg:/components/FeedParser                          .brs(67)
    BRIGHTSCRIPT: ERROR: Runtime: FOR EACH value is Invalid: pkg:/components/FeedParser                          .brs(67)
    BRIGHTSCRIPT: ERROR: Runtime: FOR EACH value is Invalid: pkg:/components/FeedParser                          .brs(67)
    BRIGHTSCRIPT: ERROR: Runtime: FOR EACH value is Invalid: pkg:/components/FeedParser                          .brs(67)

    BrightScript Micro Debugger.
    Enter any BrightScript statement, debug commands, or HELP.

    Suspending threads...
    Thread selected:  1*   pkg:/components/HomeScene.brs(18)       m.top.backgroundUri                           = contentItem.HDPOSTERURL 'Sets Scene ba

    Current Function:
    015:  Sub changeContent() 'Changes info to be displayed on the overhang
    016:      contentItem = m.RowList.content.getChild(m.RowList.rowItemFocused[0]).get                          Child(m.RowList.rowItemFocused[1])
    017:      'contentItem is a variable that points to (rowItemFocused[0]) which is th                          e row, and rowItemFocused[1] which is the item index in the row
    018:*     m.top.backgroundUri = contentItem.HDPOSTERURL 'Sets Scene background to t                          he image of the focused item
    019:      m.Poster.uri = contentItem.HDPOSTERURL 'Sets overhang image to the image                           of the focused item
    020:      m.Title.text = contentItem.TITLE 'Sets overhang title to the title of the                           focused item
    021:      m.Description.text = contentItem.DESCRIPTION ' Sets overhang description                           to the description of the focused item
    022:  End Sub
    'Dot' Operator attempted with invalid BrightScript Component or interface reference                          . (runtime error &hec) in pkg:/components/HomeScene.brs(18)
    018:     m.top.backgroundUri = contentItem.HDPOSTERURL 'Sets Scene background to th                          e image of the focused item
    Backtrace:
    #0  Function changecontent() As Void
       file/line: pkg:/components/HomeScene.brs(18)
    Local Variables:
    global           Interface:ifGlobal
    m                roAssociativeArray refcnt=2 count:7
    contentitem      Invalid
    Threads:
    ID    Location                                Source Code
     0    pkg:/source/main.brs(10)                msg = wait(0, m.port)
     1*   pkg:/components/HomeScene.brs(18)       m.top.backgroundUri = contentItem.HDP                          OSTERURL 'Sets Scene ba
      *selected   [u]unattached(not debuggable)

    Brightscript Debugger>

  • Anyone else see the next thing that is wrong? The guide should be fixed once we get this all fixed up to help other people wanting to learn. The first mistake I copy and paste so that means it is wrong in the guide so nothing I did. Please help. Thx