返回字符串的 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错误吗?

我想

我可能已经找到了罪魁祸首:名称冲突。我有这样的功能

function Code()
    ' bla bla bla
end function

。这意味着我不能在同一脚本中的其他地方拥有相同命名的变量。😱

将上述名为 Code 的函数命名为代码,我无法在其他地方执行此操作:

sub Somethingelse()
    code = FetchValue()
end sub

由于变量名code会与函数冲突 Code() . 😥

这里调用函数

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

这里是写入函数

Function SetAuthData(Serverurl As String) As Void
' reg = CreateObject("roRegistry")
 sec = CreateObject("roRegistrySection", "Authentication")
 m.top.GlobleURL = Serverurl
' if not m.top.GlobleURL = Serverurl 
sec.Write("Authentication", m.top.GlobleURL)
?"key for the URL" sec.GetKeyList()
    Print "Write URL :" + m.top.GlobleURL
' end if
 print "***********************SetAuthData************************"
' Flush(true)
End Function

您始终在调用时将函数中的参数作为参数传递,并且在写入函数时不传递任何参数,然后只需声明一个变量并初始化它。

相关内容

  • 没有找到相关文章

最新更新