我创建了roArray并添加到全局范围中,如下所示
columnSize = CreateObject("roArray", 3 , true)
m.global.addFields({guideColumnSize: columnSize})
我将这些值添加到指南ColumnSize中,如下所示
columnSize = m.global.guideColumnSize
columnSize[x] = adjustColumn
我可以在添加值后打印。我添加了5个值48。但是我无法清除、删除或修改数组中的值。这些请求将被忽略。
我试过
m.global.guideColumnSize.delete(0)
m.global.guideColumnSize.clear()
m.global.guideColumnSize[0] = 2
什么都不起作用。我唯一能执行的操作是将值附加到数组的末尾。有人能告诉我如何在brightscript中修改或清除全局roArray的内容吗?
要清除或删除brightscript中的全局变量,请使用以下代码
m.global.guideColumnSize = invalid
或
m.global.setFields({guideColumnSize : invalid})
您可以重新初始化roArray对象,并将其存储到相同的全局变量中
不能直接在全局节点中修改数组/关联数组中的元素。您必须访问对象,对其进行修改,然后将其保存回全局字段(有关更多详细信息,请参阅SceneGraph数据范围(。
假设与您的示例结构相同,您可以执行以下操作:
columnSize = [1, 2, 3]
m.global.addFields({guideColumnSize: columnSize})
newColumnSize = m.global.guideColumnSize
newColumnSize[1] = 0
m.global.guideColumnSize = newColumnSize
打印m.global.guideColumnSize
将返回[1, 0, 3]
。
您只是错过了将修改后的数组重新分配回全局字段的步骤。
要清除全局节点字段,可以使用m.global.removeField("guideColumnSize")
或简单地设置m.global.guideColumnSize = invalid
。