1. Запускаем Test
2. Test запускает Call program
3. Call program запускает Program в режиме call and forget и передает ей свою vi reference.
4. Program из этой vi reference берет vi reference главной программы и получает доступ ко всей ее панели и контролам.
Зачем? Во славу сатаны, конечно же!
В моем примере я считываю нажатия всех клавиш клавиатуры при работе в окне главной программы.
VI для кул хацкера
- Juri
- I/O
- Сообщения: 263
- Зарегистрирован: 19 апр 2017, 23:06
- Версия LabVIEW: 2021
- Благодарил (а): 13 раз
- Поблагодарили: 6 раз
VI для кул хацкера
- Вложения
-
- hidden.llb
- (51.83 КБ) 163 скачивания
Последний раз редактировалось Juri 24 авг 2017, 11:26, всего редактировалось 4 раза.
-
dadreamer
- professor
- Сообщения: 3926
- Зарегистрирован: 17 фев 2013, 16:33
- Награды: 4
- Версия LabVIEW: 2.5 — 2022
- Благодарил (а): 11 раз
- Поблагодарили: 127 раз
- Контактная информация:
Re: Событие panel close не срабатывает
Если Main закрывать нажатием на "крестик", то оба СабВИ останавливаются. Если закрывать с помощью кнопки, то Program продолжает работать. Оно и понятно - СабВИ не получает никакого сигнала о том, что нужно завершить работу. Здесь можно всяко извращаться и даже добиться, чтобы заработало. Но проще и удобнее сделать в Main логический уведомитель или переменную Exit и выставлять его/её в True по закрытии основного прибора.Usss писал(а):с закрытием ничего не получается Program зависает.
- Juri
- I/O
- Сообщения: 263
- Зарегистрирован: 19 апр 2017, 23:06
- Версия LabVIEW: 2021
- Благодарил (а): 13 раз
- Поблагодарили: 6 раз
Re: Событие panel close не срабатывает
Нашел решение. Надо сделать циклическую проверку свойства execution.state. Шапку темы исправил.
-
dadreamer
- professor
- Сообщения: 3926
- Зарегистрирован: 17 фев 2013, 16:33
- Награды: 4
- Версия LabVIEW: 2.5 — 2022
- Благодарил (а): 11 раз
- Поблагодарили: 127 раз
- Контактная информация:
Re: VI для кул хацкера
Usss, не проще было оформить СабВИ в виде параллельного цикла по стандартному шаблону? Ваш СабВИ итак выполняется параллельно, только запрятан и пуск-стоп делается через очередные "велосипеды".
Инструменты синхронизации не просто так придуманы.
Инструменты синхронизации не просто так придуманы.
- Juri
- I/O
- Сообщения: 263
- Зарегистрирован: 19 апр 2017, 23:06
- Версия LabVIEW: 2021
- Благодарил (а): 13 раз
- Поблагодарили: 6 раз
Re: VI для кул хацкера
Проще, но я хотел, чтобы у той vi, которую программист кидает в свой проект не было никаких входов. Кинул и забыл.
-
dadreamer
- professor
- Сообщения: 3926
- Зарегистрирован: 17 фев 2013, 16:33
- Награды: 4
- Версия LabVIEW: 2.5 — 2022
- Благодарил (а): 11 раз
- Поблагодарили: 127 раз
- Контактная информация:
Re: VI для кул хацкера
Начиная с 13-й версии в есть пара вот таких замечательных инструментов: Нужен только Ref основного и индекс контрола. Я обычно индексы загоняю в Variant и рассылаю всем на этапе инициализации. Хотя вы можете задать индекс константой - насколько знаю, в текущем экземпляре приложения индексы не меняются. Ну, а Main VI Ref вы знаете, как получить.Usss писал(а):Проще, но я хотел, чтобы у той vi, которую программист кидает в свой проект не было никаких входов. Кинул и забыл.