Roku Developer Program

Developers and content creators—a complete solution for growing an audience directly.
cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
btpoole
Level 8

No Such Node

From what I understand, a task can not be ran from the main.brs file. So in order to run a task, I must first create a scene and then create the task within the scene. If this is not correct I am really lost.  So, in my main.brs I have a function that is executed on start up and then again later in the code. This function uses urlTransfer so it's done in a task. My problem is that I keep getting an error stating "No such node serverurlinfo". I have a setup like the following;

main.brs

function seturlData()
screen = CreateObject("roSGScreen")
screen.setMessagePort(m.port)
scene = screen.CreateScene("serverurlinfo")
screen.show()

    while (true)
      msg = wait(0, m.port)
        msgType = type(msg)
       if msgType = "roSGScreenEvent"
          if msg.isScreenClosed()
            exit while
          end if
        end if
        end while

end function


serverurlinfo.xml

<?xml version="1.0" encoding="utf-8" ?>

<component name="serverurlinfo" extends="Scene" >
<script type="text/brightscript" uri="pkg:/source/main.brs" />
<script type="text/brightscript">


  <![CDATA[
  sub init()
  url="http://xxx.xx.xx.xx:8xxx/server"
  m.urlTask = CreateObject("roSGNode", "urlTask")
  m.urlTask.serverurl= url
    m.urlTask.control = "RUN"
  end sub
  ]]>
  </script>
[size=85][font=Helvetica Neue, Helvetica, Arial, sans-serif]</component>[/font][/size]


task_url.xml

<?xml version="1.0" encoding="utf-8" ?>
<!--********** Copyright 2016 Roku Corp.  All Rights Reserved. **********-->
<component name = "urlTask" extends = "Task" >
  <interface>
<field id = "serverurl" type= "string"/>
<field id = "contentreturn" type = "roArray"/>
    </interface>
 <script type="text/brightscript" uri="pkg:/source/main.brs" />
 <script type = "text/brightscript" >
    <![CDATA[

    sub init()
PRINT "IN url  TASK"
TransferServer()
end sub

function TransferServer()
?"in TransferServer"
serverurl=m.top.url
rocurl = createObject("roUrlTransfer")
roport=CreateObject("roMessagePort")
rocurl.setUrl(serverurl)
m.top.contentreturn=rocurl.GetToString()
end function

]]>
  </script>

</component>

Is there something missing? If so what? Thanks
0 Kudos
1 REPLY 1
btpoole
Level 8

Re: No Such Node

Update: I moved the scene xml and other files associated outside of the source folder into folder of their own. Error goes away.