Ignition 7.8 - получение текста компонента из текстовой области внутри контейнера с помощью сценария
Кнопка со сценарием сохраняет значения компонентов в параметры для обновления SQL. Кнопка вызова находится на один уровень выше Контейнера, который содержит текстовую область. Однако при установке значения Text Area с использованием рекомендованного метода руководства пользователя возникает ошибка "AttributeError: объект" NoneType "не имеет атрибута" text " "
Стандартная форма не работает:
Comments = event.source.parent.getComponent('textArea1).text
Также пробовал разные атрибуты в конце вызова:
… .string , … .value , … .stringvalue
event.source.parent.parent.getComponent('textArea1).text
При просмотре пути привязки свойств к компоненту я могу вернуть "Корневой контейнер. ContainerName.textArea1.text ". Когда я изменил его на вытягивание GetProperty, как показано ниже, я получил аналогичную ошибку, смешанную с добавлением Selected Property Not Found. Я пробовал альтернативы, аналогичные перечисленным выше.
Comments = event.source.parent.ContainerName.getComponent('textArea1).text
Какие-либо предложения?
1 ответ
Решение состоит в том, чтобы вызвать компонент-контейнер по имени с помощью метода.getComponent, а затем вызвать текстовую область с помощью стандартного метода. Комбинированный код приведен ниже для настройки комментариев к параметрам.
Comments = event.source.parent.parent.getComponent('ContainerName').getComponent('TextArea1').text
Извлечение значения компонента из контейнера не рассматривается в Руководстве по зажиганию.