Просмотр полной версии : Скрипты (используемые методы).
shamilnizaev@mail.ru
13.11.2018, 08:17
Добрый день, подскажите, я же правильно понимаю что все используемые в вашем примере методы и классы это переопределенные (c добавлением частично вашего индекса) NET.Framework ?
Возможно ли дать ссылки на оригинал ?
Например: TreeItemHlp
Пространство имен:
System.Windows.Automation
Assembly:
UIAutomationTypes.dll
Определяет узел в элементе управления TreeItem.
Пример
public override void Execute()
{
Аппарат1=Аппарат2=Аппарат3=Аппарат4=false; //сбрасываем все выходы
foreach (IDocumentHlp document in HostFB.TreeItemHlp.Project.Documents) //
IAttributeHlp attribute = document.Attribute;
if (attribute.Opened) //проверяем загружено ли окно
{
var mnemoInfo = attribute.CurrentCallInfo;
var callType = mnemoInfo.CurrentCallType;
//проверяем что окно открыто и оно имеет тип "документ"
if (attribute.DocumentInfo.Handle != 0 && callType == MasterSCADA.Interfaces.ECallType.ctDocument )
{
//взводим определенный выход в зависимости от имени объекта у которого открыто окно
if (attribute.TreeItem.Name=="Аппарат1") Аппарат1=true;
if (attribute.TreeItem.Name=="Аппарат2") Аппарат2=true;
if (attribute.TreeItem.Name=="Аппарат3") Аппарат3=true;
if (attribute.TreeItem.Name=="Аппарат4") Аппарат4=true;
}
}
}
shamilnizaev@mail.ru
13.11.2018, 11:00
Подскажите, почему не работает код
Пример
public override void Execute()
{
foreach (IDocumentHlp document in HostFB.TreeItemHlp.Project.Documents) //
IAttributeHlp attribute = document.Attribute;
if (attribute.Opened) //проверяем загружено ли окно
{
//взводим определенный выход в зависимости от имени объекта у которого открыто окно
if (attribute.TreeItem.Name=="Тулбар") Lamp=true;
}
}
Компилируется нормально, без строчки if (attribute.TreeItem.Name=="Тулбар") Lamp=true; лампа горит.
SCADAMaster
13.11.2018, 13:16
Добрый день, подскажите, я же правильно понимаю что все используемые в вашем примере методы и классы это переопределенные (c добавлением частично вашего индекса) NET.Framework ?
Конечно же нет.
Это наши библиотеки, никакой Net Framework мы не переопределяем.
SCADAMaster
13.11.2018, 13:17
Подскажите, почему не работает код
Какую ошибку выдает при компиляции?
shamilnizaev@mail.ru
13.11.2018, 14:01
Какую ошибку выдает при компиляции?
1. А где возможно прочитать про Ваши библиотеки , если это конечно открытая и доступная информация.
2. Ошибку не выдает, компилируется нормально.
3. Сейчас пытаюсь запустить следующий код. При открытии одного окна (mnemo_TB), автоматический запускается другое(mnemo).
SCADAMaster
13.11.2018, 14:46
1. А где возможно прочитать про Ваши библиотеки , если это конечно открытая и доступная информация.
2. Ошибку не выдает, компилируется нормально.
3. Сейчас пытаюсь запустить следующий код. При открытии одного окна (mnemo_TB), автоматический запускается другое(mnemo).
-1- Всё что есть это автогенерируемая справка "Объектная модель MasterSCADA" (в папке с установленной скадой, "бъектная_модель.chm")
Так же можно посмотреть "https://insat.ru/blog/?category=9" где конкретные примеры
-2- Значит проверяйте какие имена возвращает "attribute.TreeItem.Name". Ибо видно что совпадения нет раз не отрабатывает
-3- Зачем через скрипт если есть "Управление документом" который позволяет отслеживать как факт открытия окна, так и открыть окно.
shamilnizaev@mail.ru
13.11.2018, 15:23
-1- Всё что есть это автогенерируемая справка "Объектная модель MasterSCADA" (в папке с установленной скадой, "бъектная_модель.chm")
Так же можно посмотреть "https://insat.ru/blog/?category=9" где конкретные примеры
-2- Значит проверяйте какие имена возвращает "attribute.TreeItem.Name". Ибо видно что совпадения нет раз не отрабатывает
-3- Зачем через скрипт если есть "Управление документом" который позволяет отслеживать как факт открытия окна, так и открыть окно.
Эти функции нужны, что бы создать всплывающее окно с помощью одной кнопки (с фиксацией). Если нажата (окно октрыто), если отжата (окно закрыто). ФБ "Управление документом" имеет всего один вход (открыть) и один выход "Закрыть".
Подскажите:
1. Возможно ли скриптом ОТЖАТЬ кнопку ?
2. А какие типы данных у атрибутов attribute.TreeItem.Name" ? (строка ?), компилятор выдает ошибку (неявное преобразование данных).
SCADAMaster
13.11.2018, 16:08
Эти функции нужны, что бы создать всплывающее окно с помощью одной кнопки (с фиксацией). Если нажата (окно октрыто), если отжата (окно закрыто). ФБ "Управление документом" имеет всего один вход (открыть) и один выход "Закрыть".
Так что именно мешает?
Создаете Расчет у него формула вида "НЕ имяВашейКоманды"
Когда команда истина, расчет выдает ложь и наоборот. Одну на открыть, вторую на закрыть.
------
1. Возможно ли скриптом ОТЖАТЬ кнопку ?
Нет. Визуальная часть кнопки просто отображает то, что сейчас есть в дереве объектов у команды.
Так что если надо, то нужно менять значение самой команды, отвечающей за кнопку.
2. А какие типы данных у атрибутов attribute.TreeItem.Name" ? (строка ?), компилятор выдает ошибку (неявное преобразование данных).
Строка
Powered by vBulletin® Version 4.2.3 Copyright © 2024 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot