Страница 1 из 1

Динамически изменяемая лицевая панель

Добавлено: 23 авг 2016, 09:40
JohnChaban
Всем привет.
Есть кластер -данные класса смотри рисунок.
Я знаю что в Labview нет возможность менять лицевую панель в режиме выполнения только в режиме остановки прибора.
Но может какой-то способ уже есть?
Можно ли без остановки прибора убрать например текстовое поле.

Re: Динамически изменяемая лицевая панель

Добавлено: 23 авг 2016, 09:48
Borjomy_1
Да элементарно. доступны все свойства элементов кластера. Надо знать порядковый номер индикатора в кластере и иметь на панели контрол соответствующего типа (ну или сделать соответствующую константу референса). Контрол можно сделать невидимым.

Re: Динамически изменяемая лицевая панель

Добавлено: 23 авг 2016, 10:16
AndreyDmitriev
JohnChaban писал(а):Всем привет.
Есть кластер -данные класса смотри рисунок.
Я знаю что в Labview нет возможность менять лицевую панель в режиме выполнения только в режиме остановки прибора.
Но может какой-то способ уже есть?
Можно ли без остановки прибора убрать например текстовое поле.
В принципе коллега выше прав, так сделать можно. Но вот сакральный смысл менять видимость элементов в приватном кластере данных класса от меня честно говоря ускользает. Он на то и приватный, что вы его показывать пользователю в общем-то не должны. Для доступа к данным класса вы используете методы. Для отображения и изменения данных пользователю вы делаете свой интерфейс, который заполняется данными класса путём вызова соотвтетствующих методов - в этом один из фундаментальных принципов ООП. А так вы просто нарушаете инкапсуляцию.

Re: Динамически изменяемая лицевая панель

Добавлено: 23 авг 2016, 14:25
Jakob Brontfeyn
посмотрите еще здесь
http://www.labviewportal.org/viewtopic.php?f=21&t=6317

Re: Динамически изменяемая лицевая панель

Добавлено: 23 авг 2016, 14:30
JohnChaban
А добавить элемент? Как

Re: Динамически изменяемая лицевая панель

Добавлено: 23 авг 2016, 14:36
Borjomy_1
А добавить элемент? Как
Никак. И удаление элемента формальное - поле данных остается, только не показывается.

Re: Динамически изменяемая лицевая панель

Добавлено: 23 авг 2016, 15:16
taras_33
Borjomy_1 писал(а):
А добавить элемент? Как
Никак. И удаление элемента формальное - поле данных остается, только не показывается.
Ну я бы так категорически не утверждал. Почитайте к примеру вот эту ветку Там есть пара примеров, которые я приаттачил

PS особенно понравился CtrsOnDemand

Re: Динамически изменяемая лицевая панель

Добавлено: 23 авг 2016, 17:26
Borjomy_1
Почитайте к примеру вот эту ветку
Сомнительные костыли.... И данном случае вообще рассматривается элемент кластера.