BrightScript函数返回的字符串有时会返回自身(该函数)

时间:2019-07-08 02:45:00

标签: roku brightscript

有时,应该返回invalidstring的BrightScript函数返回时,它既不返回无效字符串也不返回字符串,而是(似乎)返回了类型Function。我一直无法追踪为什么何时,但是对于何时来说似乎很随意。 这样的功能。

function RegRead(key, section = invalid)
  if section = invalid section = "Default"
  sec = CreateObject("roRegistrySection",section)
  if sec.Exists(key)
    return sec.Read(key)
  end if
  return invalid
end function

我这样称呼它

val = RegRead("code")

这是怎么回事?这是BrightScript错误吗?

2 个答案:

答案 0 :(得分:1)

我想我可能已经找到了罪魁祸首:名字冲突。我有

之类的功能
function Code()
    ' bla bla bla
end function

...这意味着我不能在同一脚本的其他地方使用相同名称的变量。 ?

具有上面命名为Code的功能,我在其他地方无法做到这一点:

sub Somethingelse()
    code = FetchValue()
end sub

因为变量名code与函数Code()冲突。 ?

答案 1 :(得分:0)

在这里调用函数

aggregate

'这里有读取功能

m.top.GlobleURL = GetAuthData() ' Call Read Function in Globle Variable
print "Read URL : " + m.top.GlobleURL 
SetAuthData(Serverurl)  ' Call write Function in Seturl

这里写功能

Function GetAuthData() As Dynamic
' reg = CreateObject("roRegistry")
 sec = CreateObject("roRegistrySection", "Authentication")
' print "section : " + Authentication
 if sec.Exists("Authentication")
  print "Read URL : " + m.top.GlobleURL
  print " ****************** DATA :" + m.top.GlobleURL
  return sec.Read("Authentication")
 'return sec.Delete("Authentication") ' Here not override concept so compalsary delete first and after again second URL Store pannel.brs and hud.brs both file

 print "***********************GetAuthData************************"
 endif

 return invalid
End Function

在调用时,您总是在函数中传递参数作为传递参数,而不是在函数编写时传递任何参数,然后简单地声明一个变量并将其初始化。