Товарищи ! Помогите !
Как вставить компонент TreeView из .net control библиотеки. Как его заполнить из скриптов, неважно на c или vbs. Хочу создать фильтр сообщений, но пока не могу заполнить узлы в компоненте.
Использую пример отсюда:https://docs.microsoft.com/ru-ru/dotnet ... mework-4.8
Код примерно такой(пока сидит на клике кнопки):
Dim obj
Set obj = ScreenItems("TreeCtrl_1")
obj .Nodes.Add("Parent")
obj .Nodes(0).Nodes.Add("Child 1")
obj .Nodes(0).Nodes.Add("Child 2")
obj .Nodes(0).Nodes(1).Nodes.Add("Grandchild")
obj .Nodes(0).Nodes(1).Nodes(0).Nodes.Add("Great Grandchild")
или такой
Dim obj1
Dim obj2
Set obj1 = ScreenItems("TreeView_2")
Set obj2 = ScreenItems("TreeView_2").Nodes
obj1.BeginUpdate()
obj2.Add("Parent")
obj1.EndUpdate()
(получаю такую ошибку Application : PDLRT
Picture : myLIB_Alarms.pdl_Events
Function : Sub Button4X005F1_OnPressLeft(ByVal item, ByVal flags, ByVal x, ByVal y)
Line : 12
Error : Требуется объект: '[string: "(Коллекция)"]')
Wincc естественно ругается и ничего не создает. Пришлите пример заполнения.
- Обязательно представиться на русском языке кириллицей (заполнить поле "Имя").
- Фиктивные имена мы не приветствуем. Ивановых и Пупкиных здесь уже достаточно.
- Не писать свой вопрос в первую попавшуюся тему - вместо этого создать новую тему.
- За поиск, предложение и обсуждение пиратского ПО и средств взлома - бан без предупреждения.
- Рекламу и частные объявления "куплю/продам/есть халтура" мы не размещаем ни на каких условиях.
- Перед тем как что-то написать - читать здесь и здесь, а студентам - обязательно здесь.
- Не надо писать в ЛС администраторам свои технические вопросы. Администраторы форума отлично знают как работает форум, а не все-все контроллеры, о которых тут пишут.
Wincc tia v15.1 Компонент .net control TreeView
-
- здесь недавно
- Сообщения: 22
- Зарегистрирован: 15 фев 2018, 07:17
- Имя: Александр
- Поблагодарили: 7 раз
Wincc tia v15.1 Компонент .net control TreeView
День добрый!
Пример работы с TreeView в VBS.
Sub OnOpen()
'===========================
'Создание дерева в TreeView
'===========================
Dim objTreeView
Dim NodeIndex
Set objTreeView = ScreenItems("TreeView")
objTreeView.Style = 6
objTreeView.LineStyle = 1
Set NodeIndex = objTreeView.Nodes.Add(,,"B","Родительский узел")
Set NodeIndex = objTreeView.Nodes.Add("B",4, "ID1","Потомок 1")
NodeIndex.Sorted=True
End Sub
Пример работы с TreeView в VBS.
Sub OnOpen()
'===========================
'Создание дерева в TreeView
'===========================
Dim objTreeView
Dim NodeIndex
Set objTreeView = ScreenItems("TreeView")
objTreeView.Style = 6
objTreeView.LineStyle = 1
Set NodeIndex = objTreeView.Nodes.Add(,,"B","Родительский узел")
Set NodeIndex = objTreeView.Nodes.Add("B",4, "ID1","Потомок 1")
NodeIndex.Sorted=True
End Sub
-
- здесь недавно
- Сообщения: 7
- Зарегистрирован: 04 мар 2020, 22:59
- Имя: Дмитрий
- Благодарил (а): 1 раз
- Поблагодарили: 1 раз
Wincc tia v15.1 Компонент .net control TreeView
Подскажите пожалуйста про какой именно элемент мы говорим? Скрипт сработал с актив х, а с net control, увы нет. Опять выдает ошибку:
============Ошибка выполнения Microsoft VBScript============
Application : PDLRT
Picture : myLIB_TrendsBig.pdl_Events
Function : Sub Button1X005F2_OnPressLeft(ByVal item, ByVal flags, ByVal x, ByVal y)
Line : 10
Error : Требуется объект: 'objTreeView.Nodes'
============Ошибка выполнения Microsoft VBScript============
============Ошибка выполнения Microsoft VBScript============
Application : PDLRT
Picture : myLIB_TrendsBig.pdl_Events
Function : Sub Button1X005F2_OnPressLeft(ByVal item, ByVal flags, ByVal x, ByVal y)
Line : 10
Error : Требуется объект: 'objTreeView.Nodes'
============Ошибка выполнения Microsoft VBScript============
iceman писал(а): ↑09 сен 2021, 10:42 День добрый!
Пример работы с TreeView в VBS.
Sub OnOpen()
'===========================
'Создание дерева в TreeView
'===========================
Dim objTreeView
Dim NodeIndex
Set objTreeView = ScreenItems("TreeView")
objTreeView.Style = 6
objTreeView.LineStyle = 1
Set NodeIndex = objTreeView.Nodes.Add(,,"B","Родительский узел")
Set NodeIndex = objTreeView.Nodes.Add("B",4, "ID1","Потомок 1")
NodeIndex.Sorted=True
End Sub
-
- осмотрелся
- Сообщения: 192
- Зарегистрирован: 16 дек 2011, 15:13
- Имя: Алексей
- Страна: Россия
- Благодарил (а): 65 раз
- Поблагодарили: 46 раз
Wincc tia v15.1 Компонент .net control TreeView
VBS в WinCC ничего не знает о классах .net (в данном случае Nodes это public property, тип System.Windows.Forms.TreeNodeCollection).DeanZ писал(а): ↑26 сен 2021, 16:51 ============Ошибка выполнения Microsoft VBScript============
Application : PDLRT
Picture : myLIB_TrendsBig.pdl_Events
Function : Sub Button1X005F2_OnPressLeft(ByVal item, ByVal flags, ByVal x, ByVal y)
Line : 10
Error : Требуется объект: 'objTreeView.Nodes'
============Ошибка выполнения Microsoft VBScript============
Поэтому работать с TreeView (.net) в WinCC не получится. Надо писать свой UserControl, в нем размещать TreeView, на событии Load заполнять коллекцию Nodes, а также "прокидывать" события "Node click" наружу для доступа из WinCC. Да, еще и не забыть потом при разворачивании проекта на новом компе, UserControl dll установить в GAC.