Page 1 of 4

Перехват VI в момент останова с полным выходом?

PostPosted: 29 Aug 2018, 23:17
by Select
По глупости, забыл сохранить vi с остановом в меню :labview: , стартует сразу в модальном виде с отключенной панелью, так же присутсвует функция полного выхода из :labview:
Существует ли метод перехвата до полного завершения, Или во время старта. Мне нужно для дальнейших работ держать этот vi в резерве с доступом к меню :labview: ?

Re: Перехват VI в момент останова с полным выходом?

PostPosted: 29 Aug 2018, 23:56
by IvanLis
Select wrote:По глупости, забыл сохранить vi с остановом в меню :labview: , стартует сразу в модальном виде с отключенной панелью, так же присутсвует функция полного выхода из :labview:
Существует ли метод перехвата до полного завершения, Или во время старта. Мне нужно для дальнейших работ держать этот vi в резерве с доступом к меню :labview: ?


Выкладывайте сюда, по хорошему через свойства наверное можно долезть до нужного.
Нужно только знать где и что искать. Ну или сами разбирайтесь и правьте.
Снимок экрана от 2018-08-29 23-53-37.png

Снимок экрана от 2018-08-29 23-59-00.png

Re: Перехват VI в момент останова с полным выходом?

PostPosted: 30 Aug 2018, 11:08
by Artem.spb
Создайте новый пустой, туда только проблемный VI
Кнопки отладки -> Step Into два раза, откроется БД на паузе. Дальше останется толко брякнуть исполнение

Re: Перехват VI в момент останова с полным выходом?

PostPosted: 30 Aug 2018, 11:14
by Select
IvanLis,
Это тотальное закрытие, когда на цикл установлен элемент exit, диаграмма не доступна в таком бегущем vi :dntknw:
Вопрос решен малой кровью, благодаря привычке дублировать на стороне всего и вся в конце рабочего дня.
Люди, это грабли, на которые пока что :labview: нет ответа. В который раз убеждаюсь принципом яиц в разных корзинах.
Выполнил подмену главной vi с злополучным exit панели на тот же открытый vi, пришлось заново править свойства запуска, резолюцию, прочие настройки под exe, остальные subvi оставил с прежними настройками, далее опять вставил exit, все сохранил !без закрытия и сразу погнал на компиляцию, таким образом у меня есть exe с exit и открытый vi.
Итог, если такая процедура только что поставлена, не выходите из vi, сохраняем на стороне открытый vi без exit, и отправляем на компиляцию exe, в противном случае при настройках в свойствах на hide меню :labview: доступ к кнопке останова убивается, а вместе с ним и дальнейшая работа с этим vi.
По ходу как защита для vi от сглаза и прочих любопытных, метод рулит. :drink:

Re: Перехват VI в момент останова с полным выходом?

PostPosted: 30 Aug 2018, 11:50
by IvanLis
Select wrote:По ходу как защита для vi от сглаза и прочих любопытных, метод рулит. :drink:

Если только для этого, но поверьте, есть много методов это обойти.
Наверное более правильно, что бы VI закрывалась по окончании работы (после нажатия Stop в Вашем случае) в EXE, но не закрывалась при разработке, нужно сделать так:
Снимок экрана от 2018-08-30 11-44-15.png
Снимок экрана от 2018-08-30 11-44-15.png (7.17 KiB) Viewed 587 times

Думаю понятно, что на скрине не два кейса, а две его вкладки, причем верхний можно не ставить, я сделал для симметрии.
На сколько я помню, использование Exit может привести к потере всех не сохраненных изменений в :vi: и без предупреждения вырубить :labview:

Re: Перехват VI в момент останова с полным выходом?

PostPosted: 30 Aug 2018, 13:05
by Artem.spb
IvanLis wrote:На сколько я помню, использование Exit может привести к потере всех не сохраненных изменений в :vi: и без предупреждения вырубить :labview:

Предлагает сохранить, и операцию выхода можно прервать. Но VI, в котором располагался выход всё равно закрывается. Остальное остаётся открытым.

И да, шаманство "забыл убрать выключение и всё потерял" давно в прошлом. Ставится проверка, и окно закрывается только в случае Run-Time

Re: Перехват VI в момент останова с полным выходом?

PostPosted: 31 Aug 2018, 11:09
by Kosist
Select wrote:Люди, это грабли, на которые пока что :labview: нет ответа.
...
По ходу как защита для vi от сглаза и прочих любопытных, метод рулит. :drink:

Никакие это не грабли. Все работает так, как запрограммировано - Вы, я так понял, поставили также свойство "Run When Opened"? Запускайте виайку программно, через Invoke Node, и тогда не будет проблем.
Плюс ко всему, скрыть от любопытных глаз виайку не получиться. Так как в таком случае можно остановить виайку программно - создаете новую виайку, открываете в ней ссылку на эту, проблемную, и через Invoke Node делаете Abort VI, открываете блок-диаграмму, все что угодно.
А сохранять виайки "на стороне" - ну это прошлый век. Используйте систему контроля версий, git или svn - благо все доступно и легко в использовании; даже если Вы работаете над проектом один.

Re: Перехват VI в момент останова с полным выходом?

PostPosted: 01 Sep 2018, 10:09
by Select
Kosist,
Запускайте виайку программно, через Invoke Node, и тогда не будет проблем.
Плюс ко всему, скрыть от любопытных глаз виайку не получиться. Так как в таком случае можно остановить виайку программно - создаете новую виайку, открываете в ней ссылку на эту, проблемную, и через Invoke Node делаете Abort VI, открываете блок-диаграмму,

На мой взгляд многовато телодвижений, как я понимаю создавать в теле дополнительностью Node процедуру ради отката в блок диаграмму....
И вообще в дальнейшем такая логика выхода exe была пересмотрена в пользу полного SHUTDOWN выхода с выключением PC. В противном случае клиент получает доступ к системе. Оно мне надо?
Задача не совсем по теме поста, но надо додумать такое завершение. Знаю такая процедура доступна в :labview: чем сейчас и занимаюсь.
Буду очень благодарен за советы.

Re: Перехват VI в момент останова с полным выходом?

PostPosted: 01 Sep 2018, 11:32
by Select
Не совсем понятна привязка процедуры к кнопке Stop, которая в цикле, так же какие аргументы необходимо прописать.

Re: Перехват VI в момент останова с полным выходом?

PostPosted: 01 Sep 2018, 12:13
by IvanLis
Select wrote:Не совсем понятна привязка процедуры к кнопке Stop, которая в цикле, так же какие аргументы необходимо прописать.

Должно быть как-то так:
1.png
1.png (19.12 KiB) Viewed 510 times

По крайней мере на Win7 работает.

Re: Таблет Win10, настройка размеров и положений окон, и еще

PostPosted: 01 Sep 2018, 12:26
by Select
Очередной вопрос с выходом из exe с выключением таблетки, сразу оговорюсь, это приложение не содержит процедур управления данными, ОС выдает предупреждающее окно с отсчетом времени завершения работы и предупреждением о возможной потере не сохраненных данных, у меня чисто внешнее управление, как подавить это окно, что здесь не так. Заранее благодарен. :super:

Re: Таблет Win10, настройка размеров и положений окон, и еще

PostPosted: 01 Sep 2018, 12:36
by IvanLis
Вам лучше написать/найти какой-нибудь скрипт (батник) и запускать его из командной строки.
Так наверное быстрее выйдет.

Re: Перехват VI в момент останова с полным выходом?

PostPosted: 01 Sep 2018, 12:59
by Select
IvanLis,
безуспешно пытался найти отмеченный Delete Label
Разобрался :drink:

Re: Перехват VI в момент останова с полным выходом?

PostPosted: 01 Sep 2018, 13:11
by IvanLis
Select wrote:IvanLis,
безуспешно пытался найти отмеченный Delete Label

А я безуспешно пытался открыть Ваш файл, который судя по названию создан в lv82, в подписи lv10, а по факту lv14.

Это Temporary Directory Function

Re: Перехват VI в момент останова с полным выходом?

PostPosted: 01 Sep 2018, 13:13
by Select
:drink: разобрался