有时,应该返回invalid
或string
的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错误吗?
答案 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
在调用时,您总是在函数中传递参数作为传递参数,而不是在函数编写时传递任何参数,然后简单地声明一个变量并将其初始化。