Присвоение значений массиву -
В вашем случае, скорее всего, вы получите ошибку " Интерфейс не является членом компонента BrightScript ". Вы сталкиваетесь с этой проблемой из-за попытки поместить элемент в массив, длина которого не определена. Поэтому попробуйте
m.top.GlobalURL = ["Nik's"]
вместо функции " Push () ".
В качестве альтернативы, , если вы хотите использовать " Push()"или в вашем коде есть зависимость для динамического добавления значений в массив, вы можете попробовать следующий подход в вашем файле" **. Brs * "-
m.GlobalURL = createObject("roArray", 2, true) ' 2 is initial size of array, and "true" defines that array can be resized to accommodate more elements as and when required
m.GlobalURL.Push("val1")
m.GlobalURL.Push("val2")
m.GlobalURL.Push("val3")
Послеэто присваивает " m.GlobalURL " " m.top.GlobalURL " как -
m.top.GlobalURL = m.GlobalURL
Как прокомментировано в предыдущем ответе, вы можетесоздать собственный глобальный узел, и этого недостаточно для глобального доступа к массиву.
Глобальный доступ к массиву -
Для доступа к массиву глобальнопопробуйте что-то вроде этого -
m.global = screen.getGlobalNode()
m.global.addFields({
GlobalURL : [],
})
Всякий раз, когда ваш код изменяет " m.top.GlobalURL ", добавьте код ниже, чтобы обновить значение в глобальном массиве -
m.global.AddReplace("GlobalURL" ,m.top.GlobalURL)
После этого вы можете получить доступ к массиву " GlobalURL " в любом месте вашего приложения как -
m.global.GlobalURL
Надеюсь, это поможет.