Классы LabVIEW 8.5
- JohnChaban
- leader
- Сообщения: 669
- Зарегистрирован: 18 фев 2010, 13:26
- Версия LabVIEW: 2015,2016
- Откуда: Город Сосновый Бор Ленинградская Область
- Контактная информация:
Классы LabVIEW 8.5
Добрый день
Интересует вопрос:
Создается Класс (BaseClass).
В элементе BaseClass.ctl формируется элемент, вид которого приведен на рисунке ниже.
Формируется прибор лицевая панель которого (Front Panel) состоится из множества иэлементов
( BaseClass.ctl).
Как и можно ли сделать так чтобы поменять свойство элемента (BaseClass.ctl) и оно изменилось на
приборе автоматически.
Тоесть например я добавляю красный квадрат BaseClass.ctl и оно аатоматически добаляется в элементы
прибора.
Можно ли сделать так.
Вид класса проекта приведен ниже.
Заранее спасибо.
Интересует вопрос:
Создается Класс (BaseClass).
В элементе BaseClass.ctl формируется элемент, вид которого приведен на рисунке ниже.
Формируется прибор лицевая панель которого (Front Panel) состоится из множества иэлементов
( BaseClass.ctl).
Как и можно ли сделать так чтобы поменять свойство элемента (BaseClass.ctl) и оно изменилось на
приборе автоматически.
Тоесть например я добавляю красный квадрат BaseClass.ctl и оно аатоматически добаляется в элементы
прибора.
Можно ли сделать так.
Вид класса проекта приведен ниже.
Заранее спасибо.
-
Konstantin Sumenko
- expert
- Сообщения: 1439
- Зарегистрирован: 17 июл 2008, 12:20
- Награды: 2
- Версия LabVIEW: 2010
- Откуда: Moscow
- Поблагодарили: 1 раз
- Контактная информация:
Re: Классы LabVIEW 8.5
Strict Type Definition в определении типа элемента. Advanced->Customise. Потом его в класс.
- JohnChaban
- leader
- Сообщения: 669
- Зарегистрирован: 18 фев 2010, 13:26
- Версия LabVIEW: 2015,2016
- Откуда: Город Сосновый Бор Ленинградская Область
- Контактная информация:
-
Konstantin Sumenko
- expert
- Сообщения: 1439
- Зарегистрирован: 17 июл 2008, 12:20
- Награды: 2
- Версия LabVIEW: 2010
- Откуда: Moscow
- Поблагодарили: 1 раз
- Контактная информация:
Re: Классы LabVIEW 8.5
Сейчас под рукой нет LV. Объясню так. Если тебе нужно, чтобы св-ва элемента при изменении его в одном месте отображались везде где он используется, то нужно указать его тип как type def (strict type def для учета косметических деталей). Это делается в режиме customize (правой кнопкой на элементе -> Advanced-> Customize). Далее под меню есть выбор выпадающий контрол где по умолчанию стоит "Control"- выбери вместо этого strict type def. Сохрани этот контрол. И далее используй именно его.
-
mzu2006
- doctor
- Сообщения: 2456
- Зарегистрирован: 16 авг 2008, 02:12
- Награды: 3
- Версия LabVIEW: 7.1 10 11 12
- Откуда: St-Petersburg (RU), Phila, Boston, Washington DC
- Контактная информация:
Re: Классы LabVIEW 8.5
Может я чего не понял, но то, как отображается объект класса на передней панели определяется его иконкой, в классе нет публичных элементов. Т.е. отображение надо делать отдельно от класса.
Правила форума (Forum rules in Russian)
rm -rf /mnt/windows
rm -rf /mnt/windows
-
Konstantin Sumenko
- expert
- Сообщения: 1439
- Зарегистрирован: 17 июл 2008, 12:20
- Награды: 2
- Версия LabVIEW: 2010
- Откуда: Moscow
- Поблагодарили: 1 раз
- Контактная информация:
Re: Классы LabVIEW 8.5
Я понял, что элемент, вставленный как объект класса используется потом на лицевой панели.
- JohnChaban
- leader
- Сообщения: 669
- Зарегистрирован: 18 фев 2010, 13:26
- Версия LabVIEW: 2015,2016
- Откуда: Город Сосновый Бор Ленинградская Область
- Контактная информация:
Re: Классы LabVIEW 8.5
Ну я хотел бы сделать так чтобы например:
Есть кластер, в нем множество элементов одного типа.
Чтобы каждый раз не переделивать большой кластер можно же изменить свойства в одном месте и распространить его на другие элементы такого же типа.
Если можно сделать без класса то можно без класса.
Просто как в с++ делается класс а потом в одном месте меняются его свойтсва и распространяются на элеменнты которые используют этот класс.
Есть кластер, в нем множество элементов одного типа.
Чтобы каждый раз не переделивать большой кластер можно же изменить свойства в одном месте и распространить его на другие элементы такого же типа.
Если можно сделать без класса то можно без класса.
Просто как в с++ делается класс а потом в одном месте меняются его свойтсва и распространяются на элеменнты которые используют этот класс.
-
Chupakabra
- professional
- Сообщения: 360
- Зарегистрирован: 21 янв 2009, 10:50
- Награды: 1
- Версия LabVIEW: 2015
- Откуда: Москва
- Поблагодарили: 4 раза
- Контактная информация:
Re: Классы LabVIEW 8.5
Я так понимаю, что с помощью классов нельзя управлять окнами и контролами на них. Т.е. классы могут оперировать долько данными, а графика должна идти отдельно?mzu2006 писал(а):Может я чего не понял, но то, как отображается объект класса на передней панели определяется его иконкой, в классе нет публичных элементов. Т.е. отображение надо делать отдельно от класса.
p.s. зачем внутри класса можно добавлять контролы и что дает назначение им типа доступа (области видимости)?
-
Eugen Graf
- guru
- Сообщения: 6502
- Зарегистрирован: 13 ноя 2007, 02:20
- Награды: 4
- Версия LabVIEW: 2009
- Откуда: Saarbrücken
- Контактная информация:
Re: Классы LabVIEW 8.5
Каждый контрол уже является классом со своими Properties и Methods, есль хочешь, можешь упаковать контрол в самодельный Wrapper Class.
-
mzu2006
- doctor
- Сообщения: 2456
- Зарегистрирован: 16 авг 2008, 02:12
- Награды: 3
- Версия LabVIEW: 7.1 10 11 12
- Откуда: St-Petersburg (RU), Phila, Boston, Washington DC
- Контактная информация:
Re: Классы LabVIEW 8.5
В есть несколько иерархий классов, они не пересекаются.
ТС имел в виду класс LVOOP. На передней панели он отображается как иконка, и Konstantin Sumenko был абсолбтно прав предложив воспользоваться Strict typedef.
Это классы иерархии VIServer (GObject). Его можно обернуть вEugen Graf писал(а):Каждый контрол уже является классом со своими Properties и Methods
это уже LVOOP класс - т.е. библиотека lvlib (инкапсуляция), с наследованием и полиморфизмом.Eugen Graf писал(а):самодельный Wrapper Class.
ТС имел в виду класс LVOOP. На передней панели он отображается как иконка, и Konstantin Sumenko был абсолбтно прав предложив воспользоваться Strict typedef.
Правила форума (Forum rules in Russian)
rm -rf /mnt/windows
rm -rf /mnt/windows
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
- 0 Ответы
- 322 Просмотры
-
Последнее сообщение Artem.spb
-
- 0 Ответы
- 1892 Просмотры
-
Последнее сообщение Anastasia
-
- 3 Ответы
- 2063 Просмотры
-
Последнее сообщение PozhiloyGoblin
-
- 0 Ответы
- 342 Просмотры
-
Последнее сообщение maxim_MA
-
- 23 Ответы
- 2381 Просмотры
-
Последнее сообщение dadreamer