onevoisses
Visitor
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
10-25-2012
09:07 AM
Array operation attempted on variable not DIM'd
I am working on updating my channel,here is a problem ,I manage to narrow down my problem and can reproduce it here.
I get this error as I tried to move from the spring board to the video screen
Array operation attempted on variable not DIM'd. (runtime error &he7) in ...kg:/source/AppSpringboard.brs(39)
039: PlayVideo(videos[msg.GetIndex()])
Backtrace:
Function showspringboardscreen(video As <uninitialized>) As Integer
file/line: /tmp/plugin/MBBAAAxy1j0...kg:/source/AppSpringboard.brs(39)
Function showposterscreen(videos As <uninitialized>) As Integer
file/line: /tmp/plugin/MBBAAAxy1j08/pkg:/source/AppMain.brs(82)
Function loadjsonfile() As
file/line: /tmp/plugin/MBBAAAxy1j08/pkg:/source/AppMain.brs(51)
Function main() As
file/line: /tmp/plugin/MBBAAAxy1j08/pkg:/source/AppMain.brs(15)
the springboard seems ok as content data is there
here is the function for the video player
If I move from the posterscreen to the videoplayer the each video will play based on the array like here
any suggestions,I might have been away too long,so I am losing the "mojo"
I get this error as I tried to move from the spring board to the video screen
Array operation attempted on variable not DIM'd. (runtime error &he7) in ...kg:/source/AppSpringboard.brs(39)
039: PlayVideo(videos[msg.GetIndex()])
Backtrace:
Function showspringboardscreen(video As <uninitialized>) As Integer
file/line: /tmp/plugin/MBBAAAxy1j0...kg:/source/AppSpringboard.brs(39)
Function showposterscreen(videos As <uninitialized>) As Integer
file/line: /tmp/plugin/MBBAAAxy1j08/pkg:/source/AppMain.brs(82)
Function loadjsonfile() As
file/line: /tmp/plugin/MBBAAAxy1j08/pkg:/source/AppMain.brs(51)
Function main() As
file/line: /tmp/plugin/MBBAAAxy1j08/pkg:/source/AppMain.brs(15)
the springboard seems ok as content data is there
here is the function for the video player
Function PlayVideo(video as object) as integer
If I move from the posterscreen to the videoplayer the each video will play based on the array like here
if type(msg) = "roPosterScreenEvent"
if (msg.isListItemSelected())
'PlayVideo(videos[msg.GetIndex()]) ''This work with this'"2"
ShowSpringboardScreen(videos[msg.GetIndex()])
else if (msg.isScreenClosed())
any suggestions,I might have been away too long,so I am losing the "mojo"
Channel: Goaheadmission
O/S : Linux
Home media: MYTHROKUPLAYER With Homerun
O/S : Linux
Home media: MYTHROKUPLAYER With Homerun
5 REPLIES 5

RokuJoel
Binge Watcher
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
10-25-2012
09:13 AM
Re: Array operation attempted on variable not DIM'd
Try adding
print type(videos)
print msg.getindex()
print videos.count()
print videos[msg.getindex()]
immediately before PlayVideo(videos[msg.GetIndex()])
as a troubleshooting step. Maybe the index is higher than the number of videos in the array?
- Joel
print type(videos)
print msg.getindex()
print videos.count()
print videos[msg.getindex()]
immediately before PlayVideo(videos[msg.GetIndex()])
as a troubleshooting step. Maybe the index is higher than the number of videos in the array?
- Joel

RokuMarkn
Visitor
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
10-25-2012
09:30 AM
Re: Array operation attempted on variable not DIM'd
You didn't show where you initialized the videos variable, but apparently it is not an array.
--Mark
--Mark
onevoisses
Visitor
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
10-25-2012
09:40 AM
Re: Array operation attempted on variable not DIM'd
here is the array
here is the json
this is what I get when i used the print statement
------ Running ------
SpringBoardButton Pressed: 5 index: 1
<uninitialized>
1
BrightScript Micro Debugger.
Enter any BrightScript statement, debug commands, or HELP.
'
'
Array operation attempted on variable not DIM'd. (runtime error &he7) in ...kg:/source/AppSpringboard.brs(40)
040: print videos[msg.getindex()]
Backtrace:
I had 20 in the array but 21 videos so I move it to 25
also print videos.count() gives the following error
'Dot' Operator attempted with invalid BrightScript Component or interface reference. (runtime error &hec) in ...kg:/source/AppSpringboard.brs(40)
040: print videos.count();
do you think my problem is
Function ShowPosterScreen(videos as object) as integer
posterScreen = CreateObject("roPosterScreen")
port = CreateObject("roMessagePort")
posterScreen.SetMessagePort(port)
contentList = CreateObject("roArray",25, true)
for each video in videos
poster = CreateObject("roAssociativeArray")
poster.ShortDescriptionLine1 = video.Title
poster.SDPosterURL = video.Image
poster.HDPosterURL = video.Image
contentList.push( poster )
end for
posterScreen.SetContentList( contentList )
here is the json
Function LoadJSONFile() as void
jsonAsString = ReadAsciiFile("pkg:/json/sample1.json")
m.json = ParseJSON(jsonAsString)
ShowPosterScreen(m.json.Videos)
End Function
this is what I get when i used the print statement
------ Running ------
SpringBoardButton Pressed: 5 index: 1
<uninitialized>
1
BrightScript Micro Debugger.
Enter any BrightScript statement, debug commands, or HELP.
'
'
Array operation attempted on variable not DIM'd. (runtime error &he7) in ...kg:/source/AppSpringboard.brs(40)
040: print videos[msg.getindex()]
Backtrace:
I had 20 in the array but 21 videos so I move it to 25
also print videos.count() gives the following error
'Dot' Operator attempted with invalid BrightScript Component or interface reference. (runtime error &hec) in ...kg:/source/AppSpringboard.brs(40)
040: print videos.count();
do you think my problem is
ShowPosterScreen(m.json.Videos)
Channel: Goaheadmission
O/S : Linux
Home media: MYTHROKUPLAYER With Homerun
O/S : Linux
Home media: MYTHROKUPLAYER With Homerun

RokuMarkn
Visitor
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
10-25-2012
09:59 AM
Re: Array operation attempted on variable not DIM'd
When you printed "videos", the output was "<uninitialized>". That's your problem. Perhaps you created the videos variable in a different scope than where you're using it.
--Mark
--Mark
onevoisses
Visitor
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
10-29-2012
03:54 AM
Re: Array operation attempted on variable not DIM'd
Feedback
Thanks everyone
kbenson clarified the "m" for me in this post
http://forums.roku.com/viewtopic.php?f=34&t=31874
and jbrave-Joel in this post
http://forums.roku.com/viewtopic.php?f=34&t=39414 so I modify my loadfeed() to
RokuMarkn pointed out that
I found out I was calling videos to play on the videoscreen when I only needed one video so I modify
and so thanks Joel and endless for this beautiful tip on"
Need Help Understanding CreateObject()"
http://forums.roku.com/viewtopic.php?p=255658&sid=cbe3599496ebe07c5760788be91faeac
and finally Joel and whomever said "print" is your friend might I also add "STOP"
Here are the results of the print
Using Json
Using XML Parsing
I do value this help
Thanks everyone
kbenson clarified the "m" for me in this post
http://forums.roku.com/viewtopic.php?f=34&t=31874
and jbrave-Joel in this post
http://forums.roku.com/viewtopic.php?f=34&t=39414 so I modify my loadfeed() to
Function LoadJSONFile() as void
jsonAsString = ReadAsciiFile("pkg:/json/sample1.json")
feedinfo = ParseJSON(jsonAsString)
ShowPosterScreen(feedinfo.Videos)
End Function
RokuMarkn pointed out that
When you printed "videos", the output was "<uninitialized>". That's your problem. Perhaps you created the videos variable in a different scope than where you're using it.
I found out I was calling videos to play on the videoscreen when I only needed one video so I modify
PlayVideo(videos[msg.GetIndex()])to match my
Function PlayVideo(video as object) as integer
and so thanks Joel and endless for this beautiful tip on"
Need Help Understanding CreateObject()"
http://forums.roku.com/viewtopic.php?p=255658&sid=cbe3599496ebe07c5760788be91faeac
and finally Joel and whomever said "print" is your friend might I also add "STOP"
Here are the results of the print
Using Json
------ Running ------
msg: idx: 8
roArray
8
20
Image: http://xxx.xxx.xxx.xxx/someimage.png
Url: http://xxx.xxx.xxx.xxx:1935/xxx/xxx/playlist.m3u8
Title: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
SpringBoardButton Pressed: 5 index: 1
roAssociativeArray
1
showVideoScreen | msg = Stream started. | index = 0
showVideoScreen | msg = HLS segment info | index = 0
showVideoScreen | msg = HLS segment info | index = 7000
showVideoScreen | msg = HLS segment info | index = 14000
showVideoScreen | msg = Playback paused. | index = 0
Using XML Parsing
Using xml
------ Running ------
msg: idx: 7
roXMLList
7
20
<Component: roXMLElement>
SpringBoardButton Pressed: 5 index: 1
roXMLElement
1
showVideoScreen | msg = Stream started. | index = 0
showVideoScreen | msg = HLS segment info | index = 0
showVideoScreen | msg = HLS segment info | index = 10000
showVideoScreen | msg = Playback paused. | index = 0
I do value this help
Channel: Goaheadmission
O/S : Linux
Home media: MYTHROKUPLAYER With Homerun
O/S : Linux
Home media: MYTHROKUPLAYER With Homerun