Использование VI Server Reference

Обсуждение, связанное с разработкой ПО верхнего уровня
Аватара пользователя
Eugen Graf

Activity Professionalism Silver Black
guru
guru
Сообщения: 6502
Зарегистрирован: 13 ноя 2007, 02:20
Награды: 4
Версия LabVIEW: 2009
Откуда: Saarbrücken
Контактная информация:

Re: Использование VI Server Reference

Сообщение Eugen Graf »

Хорошо, тогда скажу по-другому. Я имею ввиду что надо бы (по-моему) создать два подприбора. Первый в зависимости от подкладки-бэкграуда выбирает нужный бэкграунд, расставляет элементы по местам, показывает их(visible) и что самое главное выдаёт массив с референсами на существующие элементы(picture rings). Я имелл ввиду что первый подприбор и является инициализацией главного прибора. В дальнейшем ты уже работешь не с именами элементов, а напрямую с их референсами.
Второй подприбор работающий только с референсами на элементы-пикчеры задаёт им значения в зависимости от результата измерения.
А в деинизиализации(она не всегда обязательна) ты закрываешь открытые референсы, порты и т.д. и в конце концов выходишь из всей программы.

В любом случае я вижу что ты двигаешься в правильном направлении и остаётся почти только математика и геометрия для расположения элементов на бэкграунде. Чем то подобным я занимался, когда хотел при увеличении размеров окна прибора увеличить размеры и поменять координаты только некоторых элементов на панели.

Как я уже сказал левый верхний угол картинки-бэкраунда будет твоей опорной точкой для расположения элементов и считать удобнее с координатой центральной точки элемента.
Так же можно разделить расположение по горизонтали и расположение по вертикали на два разных подприбора.
Как я вижу расстояние между элементами по горизонтали всегда одинаково. Исключением является только расположение первого и последнего элемента в строке от края бэкграунда. Это расстояние равно половине расстояния между двумя элементами.
По вертикали пока не знаю точно.
Надо искать некоторые правила расположения и фиксировать эти правила в подприборах.
Аватара пользователя
PaXXaN
beginner
beginner
Сообщения: 32
Зарегистрирован: 19 янв 2008, 10:11
Версия LabVIEW: 8.5
Контактная информация:

Re: Использование VI Server Reference

Сообщение PaXXaN »

eg писал(а):Хорошо, тогда скажу по-другому. Я имею ввиду что надо бы (по-моему) создать два подприбора. Первый в зависимости от подкладки-бэкграуда выбирает нужный бэкграунд, расставляет элементы по местам, показывает их(visible) и что самое главное выдаёт массив с референсами на существующие элементы(picture rings). Я имелл ввиду что первый подприбор и является инициализацией главного прибора. В дальнейшем ты уже работешь не с именами элементов, а напрямую с их референсами.
Второй подприбор работающий только с референсами на элементы-пикчеры задаёт им значения в зависимости от результата измерения.
А в деинизиализации(она не всегда обязательна) ты закрываешь открытые референсы, порты и т.д. и в конце концов выходишь из всей программы.

В любом случае я вижу что ты двигаешься в правильном направлении и остаётся почти только математика и геометрия для расположения элементов на бэкграунде. Чем то подобным я занимался, когда хотел при увеличении размеров окна прибора увеличить размеры и поменять координаты только некоторых элементов на панели.

Как я уже сказал левый верхний угол картинки-бэкраунда будет твоей опорной точкой для расположения элементов и считать удобнее с координатой центральной точки элемента.
Так же можно разделить расположение по горизонтали и расположение по вертикали на два разных подприбора.
Как я вижу расстояние между элементами по горизонтали всегда одинаково. Исключением является только расположение первого и последнего элемента в строке от края бэкграунда. Это расстояние равно половине расстояния между двумя элементами.
По вертикали пока не знаю точно.
Надо искать некоторые правила расположения и фиксировать эти правила в подприборах.
Да, вроде так и получилось у меня.
А как нужно закрывать референсы?

А расположение я сделал щас так: X и Y - координаты 1-ого элемента, dX и dY - расстояние между 2 по горизонтали и вертикали. И в цикле приращение добавляю
Аватара пользователя
Eugen Graf

Activity Professionalism Silver Black
guru
guru
Сообщения: 6502
Зарегистрирован: 13 ноя 2007, 02:20
Награды: 4
Версия LabVIEW: 2009
Откуда: Saarbrücken
Контактная информация:

Re: Использование VI Server Reference

Сообщение Eugen Graf »

Ну закрывать референсы не обязательно, если ты полностью покидаешь программу. LabVIEW закроет всё сам автоматически. Но если делать по правилам, то лучше закрыть. Я имел ввиду что при деинициализации закрывать порты например или записать напоследок установки программы в INI-файл.

То что ты сделал с координатами вроде бы неплохо. Т.е. для первого элемента ты делаешь абсолютную позицию, а остальные релативно друг к другу.

А референсы закрываются вот так:
Вложения
Close.PNG
Close.PNG (894 байт) 12436 просмотров
Аватара пользователя
PaXXaN
beginner
beginner
Сообщения: 32
Зарегистрирован: 19 янв 2008, 10:11
Версия LabVIEW: 8.5
Контактная информация:

Re: Использование VI Server Reference

Сообщение PaXXaN »

eg писал(а):Ну закрывать референсы не обязательно, если ты полностью покидаешь программу. LabVIEW закроет всё сам автоматически. Но если делать по правилам, то лучше закрыть. Я имел ввиду что при деинициализации закрывать порты например или записать напоследок установки программы в INI-файл.

То что ты сделал с координатами вроде бы неплохо. Т.е. для первого элемента ты делаешь абсолютную позицию, а остальные релативно друг к другу.

А референсы закрываются вот так:
Я записываю в ini каждый раз после завершения цикла проверки, потому при выходе не требуется сохранять, а вот порты да, закрыть надо...

Ну да, координады бакграунда + X + N*dx, N - № в строке.
Аватара пользователя
Eugen Graf

Activity Professionalism Silver Black
guru
guru
Сообщения: 6502
Зарегистрирован: 13 ноя 2007, 02:20
Награды: 4
Версия LabVIEW: 2009
Откуда: Saarbrücken
Контактная информация:

Re: Использование VI Server Reference

Сообщение Eugen Graf »

Ну а как насчёт разделения проги на подприборы? Ты так всё и работаешь с именами элементов или находишь в начале все нужные элементы, создаёшь массив с референсами и в дальнейшем работаешь уже только с этим массивом? Или всё таки работаешь в каждом подприборе с именами элементов и находишь каждый раз нужные элементы?
Аватара пользователя
PaXXaN
beginner
beginner
Сообщения: 32
Зарегистрирован: 19 янв 2008, 10:11
Версия LabVIEW: 8.5
Контактная информация:

Re: Использование VI Server Reference

Сообщение PaXXaN »

eg писал(а):Ну а как насчёт разделения проги на подприборы? Ты так всё и работаешь с именами элементов или находишь в начале все нужные элементы, создаёшь массив с референсами и в дальнейшем работаешь уже только с этим массивом? Или всё таки работаешь в каждом подприборе с именами элементов и находишь каждый раз нужные элементы?
В массив выделяю:

Далее да, думаю надо вывести его в основое тело и работать через него. Пока что при изменении статуса делаю выборку по заголовку
Вложения
Сдвиг ячеек.png
Аватара пользователя
Eugen Graf

Activity Professionalism Silver Black
guru
guru
Сообщения: 6502
Зарегистрирован: 13 ноя 2007, 02:20
Награды: 4
Версия LabVIEW: 2009
Откуда: Saarbrücken
Контактная информация:

Re: Использование VI Server Reference

Сообщение Eugen Graf »

Ну как? Всё работает? Скрин посмотрел, вроде всё в норме. :super:
Аватара пользователя
PaXXaN
beginner
beginner
Сообщения: 32
Зарегистрирован: 19 янв 2008, 10:11
Версия LabVIEW: 8.5
Контактная информация:

Re: Использование VI Server Reference

Сообщение PaXXaN »

eg писал(а):Ну как? Всё работает? Скрин посмотрел, вроде всё в норме. :super:
да, это доделал
Ответить
  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Лицевая панель»