Инициализация объявленной в редакторе переменной типа String Array

Автор gaargot1, 23 марта 2020, 15:24:46

gaargot1

Здравствуйте, подскажите, как проинициализировать массив из строк именно объявленный в редакторе.
Пытаюсь:
Код: pascal
pathtosound.value[0]:='Цех3.ogg';
Сервер показывает "ошибка в скрипте Invalid argument"

Код: pascal
pathtosound[0].value:='Цех3.ogg';
Компилятор говорит: Класс TM_variable does not have a default property

gaargot1

Сейчас использовал глобальный модуль для объявления этой переменной. И в других процедурах теперь всё работает в виде
Код: pascal
pathtosound[0]:='Цех3.ogg';

Просто зачем для объявления одного массива заводить глобальный модуль, когда есть редактор. Или я не прав?

Simple-Scada

Здравствуйте.

В редакторе, в разделе редактирования переменных создаются экземпляры TM_Variable, которые представляют собой сложные структуры. БОльшая часть свойств TM_Varaible используется при работе с внешними тегами (с OPC-сервера) и типы данных Array которые видны в окне добавления переменной могут использоваться только для внешних тегов и только на чтение. Т.е. с их помощью можно в скаду получать значения из переменных-массивов с OPC-сервера. Записать массив из скады в OPC-сервер нельзя.
Если Вам нужен не внешний массив, который используется внутри скады, то нужно объявлять его в глобальном модуле (или локально в скрипте, если нужно использовать только в пределах скрипта). Тогда это будет простой массив, не связанный с TM_Variable. К нему не придётся обращаться через свойство ".Value"  и т.п. и можно будет использовать его напрямую myArray[0] := 'текст';