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

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

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

Postby dadreamer on 08 Dec 2017, 08:35

jane_wild wrote:Далее инициализируется меню и прячется подачей нуля на вход упомянутого метода.

Просмотрел весь код и нигде не нашёл установки параметра Height в 0. Мы точно об одном и том же примере говорим? У меня сейчас открыт Easily Create a .NET Menu LV2012 NIverified.
jane_wild wrote:При нажатии на кнопочку, циклом for, добавляя по 10 пикселей к высоте, начиная с нуля, меню выдвигается.

По 20. Выдвигается - 15 раз по +20 пкс, задвигается - 15 раз по -20.
jane_wild wrote:После выбора необходимого подпункта, оно снова задвигается.

Такого нету - после выбора подпункта появляется Message Box и на этом всё.
jane_wild wrote:Закрывая программу меню спрятано и его высота равна нулю.

В моём примере при остановке программы (нажатие Stop) высота становится 300 пкс.
2017-12-08_10-26-47.jpg

jane_wild wrote:При повторном запуске, LabVIEW "помнит" этот ноль, меню проходит всю инициализацию без ошибок, но оно просто не показывается

Ну, даже если я меняю 300 на 0, при следующем запуске мне всё равно удаётся раскрыть меню, несколько раз кликнув по кнопке >>. Да и сам :labview: не должен ничего "запоминать", это же внешний компонент, у него своя программная начинка и окно своё. Если и есть какое-то "запоминание", то только во внутренностях компонента. Но тогда встаёт вопрос о том, почему у меня работает, а у вас нет. Возможно, у вас в системе установлена какая-то другая версия этого компонента. Попробуйте обновить .NET Framework. Нынче последняя версия 4.7.1, совместимость от Win 10 до 7.
User avatar
dadreamer
professor
professor
 
Posts: 3102
Joined: 17 Feb 2013, 16:33
Medals: 4
Activity (1) Professionalism (1) Автор (2)
LabVIEW Version: 2.5 — 2018
Karma: 782
I/O VIP vision internet

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

Postby jane_wild on 08 Dec 2017, 16:00

Да, пример этот, только я его использую не в оригинальном виде, а адаптированным под мой проект и мои хотелки. Естественно и размеры в пикселях разные и message box-а никакого нет. Я хотела в целом разобраться что к чему, как это работает и почему "висел" callback. И Вы мне в этом очень сильно помогли, за что еще раз спасибо :thank:
Теперь все работает так как хочется мне :dance: Как говорит мой отец: "не пытайся исправить то, что исправно работает", кстати он иногда появляется на этом форуме. Еще раз спасибо
User avatar
jane_wild
user
user
 
Posts: 78
Joined: 30 Jun 2016, 02:11
LabVIEW Version: 2016
Karma: 0

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

Postby dadreamer on 10 Dec 2017, 02:36

jane_wild wrote:Как говорит мой отец: "не пытайся исправить то, что исправно работает"

Я это поддерживаю. Единственное "но", когда есть смысл нарушить это правило - когда необходим апдейт. Тогда придётся залезть в код и исправить то, что не работает. Пусть даже порой придётся отказаться от старого и переписать с нуля.
User avatar
dadreamer
professor
professor
 
Posts: 3102
Joined: 17 Feb 2013, 16:33
Medals: 4
Activity (1) Professionalism (1) Автор (2)
LabVIEW Version: 2.5 — 2018
Karma: 782
I/O VIP vision internet

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

Postby jane_wild on Yesterday, 20:51

jane_wild wrote:Согласна, что странно. Как то не полностью освобождаюстя ресурсы
Вот так выклядят кусочек окна проекта после остановки программы. Несмотря на замочки, можно редактировать любые VI за исключением callback
Lock.png


Вот так, после запуска Collect.vi (в котором единственный метод CG.Collect) Замочки пропадают и можно редактировать все, включая callback
UnLock.png

Но при повторном запуске всего проекта StartUp-ом Все запускается и работает, только strip Menu не выпадает. Жму на кнопку и ничего не происходит. Закрыла - Открыла проект - все гуд.


Перенесла проект на LV2018, замочки с библиотек не пропадают, в LV2016 все ок, почему то в новой версии метод CG.Collect не работает. :thank:
User avatar
jane_wild
user
user
 
Posts: 78
Joined: 30 Jun 2016, 02:11
LabVIEW Version: 2016
Karma: 0

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

Postby dadreamer on Yesterday, 21:45

jane_wild wrote:Перенесла проект на 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 wrote: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.
User avatar
dadreamer
professor
professor
 
Posts: 3102
Joined: 17 Feb 2013, 16:33
Medals: 4
Activity (1) Professionalism (1) Автор (2)
LabVIEW Version: 2.5 — 2018
Karma: 782
I/O VIP vision internet

Previous

Return to Для чайников

Who is online

Users browsing this forum: Google and 7 guests

cron