Можно ли сформировать нестандартное меню

Простейшие вопросы в области инженерной разработки
Аватара пользователя
dadreamer

Activity Professionalism Автор
professor
professor
Сообщения: 3560
Зарегистрирован: 17 фев 2013, 16:33
Награды: 4
Версия LabVIEW: 2.5 — 2020
Благодарил (а): 2 раза
Поблагодарили: 12 раз
Контактная информация:

Re: Можно ли сформировать нестандартное меню

Сообщение dadreamer »

jane_wild писал(а):Далее инициализируется меню и прячется подачей нуля на вход упомянутого метода.
Просмотрел весь код и нигде не нашёл установки параметра Height в 0. Мы точно об одном и том же примере говорим? У меня сейчас открыт Easily Create a .NET Menu LV2012 NIverified.
jane_wild писал(а):При нажатии на кнопочку, циклом for, добавляя по 10 пикселей к высоте, начиная с нуля, меню выдвигается.
По 20. Выдвигается - 15 раз по +20 пкс, задвигается - 15 раз по -20.
jane_wild писал(а):После выбора необходимого подпункта, оно снова задвигается.
Такого нету - после выбора подпункта появляется Message Box и на этом всё.
jane_wild писал(а):Закрывая программу меню спрятано и его высота равна нулю.
В моём примере при остановке программы (нажатие Stop) высота становится 300 пкс.
2017-12-08_10-26-47.jpg
jane_wild писал(а):При повторном запуске, LabVIEW "помнит" этот ноль, меню проходит всю инициализацию без ошибок, но оно просто не показывается
Ну, даже если я меняю 300 на 0, при следующем запуске мне всё равно удаётся раскрыть меню, несколько раз кликнув по кнопке >>. Да и сам :labview: не должен ничего "запоминать", это же внешний компонент, у него своя программная начинка и окно своё. Если и есть какое-то "запоминание", то только во внутренностях компонента. Но тогда встаёт вопрос о том, почему у меня работает, а у вас нет. Возможно, у вас в системе установлена какая-то другая версия этого компонента. Попробуйте обновить .NET Framework. Нынче последняя версия 4.7.1, совместимость от Win 10 до 7.
Аватара пользователя
jane_wild
advanced
advanced
Сообщения: 193
Зарегистрирован: 30 июн 2016, 02:11
Версия LabVIEW: 2020
Благодарил (а): 6 раз

Re: Можно ли сформировать нестандартное меню

Сообщение jane_wild »

Да, пример этот, только я его использую не в оригинальном виде, а адаптированным под мой проект и мои хотелки. Естественно и размеры в пикселях разные и message box-а никакого нет. Я хотела в целом разобраться что к чему, как это работает и почему "висел" callback. И Вы мне в этом очень сильно помогли, за что еще раз спасибо :thank:
Теперь все работает так как хочется мне :dance: Как говорит мой отец: "не пытайся исправить то, что исправно работает", кстати он иногда появляется на этом форуме. Еще раз спасибо
Аватара пользователя
dadreamer

Activity Professionalism Автор
professor
professor
Сообщения: 3560
Зарегистрирован: 17 фев 2013, 16:33
Награды: 4
Версия LabVIEW: 2.5 — 2020
Благодарил (а): 2 раза
Поблагодарили: 12 раз
Контактная информация:

Re: Можно ли сформировать нестандартное меню

Сообщение dadreamer »

jane_wild писал(а):Как говорит мой отец: "не пытайся исправить то, что исправно работает"
Я это поддерживаю. Единственное "но", когда есть смысл нарушить это правило - когда необходим апдейт. Тогда придётся залезть в код и исправить то, что не работает. Пусть даже порой придётся отказаться от старого и переписать с нуля.
Аватара пользователя
jane_wild
advanced
advanced
Сообщения: 193
Зарегистрирован: 30 июн 2016, 02:11
Версия LabVIEW: 2020
Благодарил (а): 6 раз

Re: Можно ли сформировать нестандартное меню

Сообщение jane_wild »

jane_wild писал(а):Согласна, что странно. Как то не полностью освобождаюстя ресурсы
Вот так выклядят кусочек окна проекта после остановки программы. Несмотря на замочки, можно редактировать любые VI за исключением callback
Lock.png
Вот так, после запуска Collect.vi (в котором единственный метод CG.Collect) Замочки пропадают и можно редактировать все, включая callback
UnLock.png
Но при повторном запуске всего проекта StartUp-ом Все запускается и работает, только strip Menu не выпадает. Жму на кнопку и ничего не происходит. Закрыла - Открыла проект - все гуд.
Перенесла проект на LV2018, замочки с библиотек не пропадают, в LV2016 все ок, почему то в новой версии метод CG.Collect не работает. :thank:
Аватара пользователя
dadreamer

Activity Professionalism Автор
professor
professor
Сообщения: 3560
Зарегистрирован: 17 фев 2013, 16:33
Награды: 4
Версия LabVIEW: 2.5 — 2020
Благодарил (а): 2 раза
Поблагодарили: 12 раз
Контактная информация:

Re: Можно ли сформировать нестандартное меню

Сообщение dadreamer »

jane_wild писал(а):Перенесла проект на LV2018, замочки с библиотек не пропадают, в LV2016 все ок, почему то в новой версии метод CG.Collect не работает. :thank:
Мне нечем вас обрадовать. :cry:
.NET Callback Event VI keeps the Callback VI reserved even GC.Collect() is used in Labview 2018
NI R&D писал(а):The GC.Collect() method not releasing the reference is being tracked by CAR 712176.

Our dev team is aware of both and working to resolve those as soon as we're able. ... For the GC.Collect(), the only suggestion I have is to consider placing the callback into a library. Libraries are easier to unload without closing out of LabVIEW. But, that's not really that much more friendly than your current state.
Аватара пользователя
dadreamer

Activity Professionalism Автор
professor
professor
Сообщения: 3560
Зарегистрирован: 17 фев 2013, 16:33
Награды: 4
Версия LabVIEW: 2.5 — 2020
Благодарил (а): 2 раза
Поблагодарили: 12 раз
Контактная информация:

Re: Можно ли сформировать нестандартное меню

Сообщение dadreamer »

jane_wild, NI поправили этот баг в патче f2:
Issues Fixed in LabVIEW 2018 f2 Patch
...
712176 .NET Callback VIs are not released from memory when you request garbage collection.
http://www.ni.com/product-documentation/54795/en/
Аватара пользователя
jane_wild
advanced
advanced
Сообщения: 193
Зарегистрирован: 30 июн 2016, 02:11
Версия LabVIEW: 2020
Благодарил (а): 6 раз

Re: Можно ли сформировать нестандартное меню

Сообщение jane_wild »

jane_wild, NI поправили этот баг в патче f2:
Да спасибо, все работает
Ответить
  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Для чайников»