Здравствуйте, подскажите, как проинициализировать массив из строк именно объявленный в редакторе.
Пытаюсь:
pathtosound.value[0]:='Цех3.ogg';Сервер показывает "ошибка в скрипте Invalid argument"
pathtosound[0].value:='Цех3.ogg';Компилятор говорит: Класс TM_variable does not have a default property
Сейчас использовал глобальный модуль для объявления этой переменной. И в других процедурах теперь всё работает в виде pathtosound[0]:='Цех3.ogg';
Просто зачем для объявления одного массива заводить глобальный модуль, когда есть редактор. Или я не прав?
Здравствуйте.
В редакторе, в разделе редактирования переменных (https://simple-scada.com/help/manual/variable-editor.html) создаются экземпляры TM_Variable, которые представляют собой сложные структуры (https://simple-scada.com/help/script/tmvariable.html). БОльшая часть свойств TM_Varaible используется при работе с внешними тегами (с OPC-сервера) и типы данных Array которые видны в окне добавления переменной (https://simple-scada.com/help/manual/variable-new.html) могут использоваться только для внешних тегов и только на чтение. Т.е. с их помощью можно в скаду получать значения из переменных-массивов с OPC-сервера. Записать массив из скады в OPC-сервер нельзя.
Если Вам нужен не внешний массив, который используется внутри скады, то нужно объявлять его в глобальном модуле (или локально в скрипте, если нужно использовать только в пределах скрипта). Тогда это будет простой массив, не связанный с TM_Variable. К нему не придётся обращаться через свойство ".Value" и т.п. и можно будет использовать его напрямую myArray[0] := 'текст';
Всё понятно, спасибо.