Использование Pre/Post Build Actions при создании приложений

Создание приложений, библиотек, инсталляторов
Ответить
Аватара пользователя
Kosist

Activity Gold
expert
expert
Сообщения: 1227
Зарегистрирован: 21 фев 2011, 23:44
Награды: 2
Версия LabVIEW: 2013-2020
Благодарил (а): 23 раза
Поблагодарили: 29 раз
Контактная информация:

Использование Pre/Post Build Actions при создании приложений

Сообщение Kosist »

При создании exe файла в LabVIEW, с помощью Application Builder, доступна опция Pre/Post Build Actions – это действия, которые будут выполняться перед тем, или после того, как будет создан exe файл.
Потребность в такой опции возникает нечасто, но иногда это довольно-таки полезно. Например, в папку с exe файлом вам надо скопировать автоматически некоторые дополнительные файлы; или наоборот, удалить с билда какие-то файлы. В примере, я смоделировал следующую ситуацию.
Существует небольшая программа, в которой программно генерируются пути к разным папкам с файлами. Базовая папка – это название проекта, напр. Tester1, Tester2, и т.д. Конечные сгенерированые пути должны выглядеть как-то так:
Tester1\Configuration; Tester1\Code modules
или
Tester2\Configuration; Tester2\Code modules
Поэтому, различие для программ заключается в разных именах, которые берутся из конфигурационного файла. Файл в проекте один, поэтому значение имени проекта меняется после того, как будет сгенерирован exe.

Может пример немного и странный, но именно для такой цели я какое-то время назад использовал Post Build Actions – когда с одной VI я создавал два exe (одинаковых по функционалу, но которые использовали разные пути к файлам).
Чтобы создать Post Build Action, делаем следующее.
1. Создаем Application (EXE) build specification.
2. Делаем необходимые настройки билда.
3. На вкладке Pre/Post Build Actions, для опции Execute VI after build жмем кнопку Generate VI, и сохраняем сгенерированную VI-ку в проекте.
post action tab 1.png
post action tab 2.png
4. В VI добавляем необходимый код (менять лицевую панель не нужно, поскольку она содержит необходимые входа-выходы для выполнения необходимых действий). Данная VI содержит пути к сгенерированной программе, имя билд-спецификации, пути к использованным VI, и т.д.
Build Post Action VI.png
5. Создаем exe, и если все было настроено правильно, Post Build Action будет выполнен. В моем примере, в конфигурационный файл будет записан суффикс названия билд-спецификации, и таким образом, когда exe будет запущен, также будут сгенерированы соответствующие необходимые пути.
exe.png
Вложения
Build Post Actions.zip
(38.1 КБ) 175 скачиваний
Мы делили апельсин - много наших полегло...
alex3f
beginner
beginner
Сообщения: 26
Зарегистрирован: 23 авг 2016, 09:16
Версия LabVIEW: 2016
Контактная информация:

Re: Использование Pre/Post Build Actions при создании прилож

Сообщение alex3f »

Использую Pre/Post Build Actions в процедуре полной оптимизации компилятора, описанной в справке http://zone.ni.com/reference/en-XX/help ... ion_speed/
Аватара пользователя
Juri
I/O
I/O
Сообщения: 220
Зарегистрирован: 19 апр 2017, 23:06
Версия LabVIEW: 2018
Благодарил (а): 10 раз
Поблагодарили: 4 раза

Re: Использование Pre/Post Build Actions при создании приложений

Сообщение Juri »

Я сделал диалоговое окно в Post-Build Action.vi, но оно не открывается. Вставил Front Panel > Open, окно открылось, но оно заморожено, никакие кнопки не доступны. Это лечится? Мне это понадобилось, т.к. после компиляции библиотеки мне надо переложить ее копии в несколько мест. В окне можно сохранять план копирования разных библиотек по разным местам.
Artem.spb

Activity Автор
doctor
doctor
Сообщения: 2947
Зарегистрирован: 31 июл 2011, 23:05
Награды: 2
Версия LabVIEW: 12-18
Благодарил (а): 27 раз
Поблагодарили: 120 раз
Контактная информация:

Re: Использование Pre/Post Build Actions при создании приложений

Сообщение Artem.spb »

Usss писал(а): 22 сен 2021, 16:14 Я сделал диалоговое окно в Post-Build Action.vi, но оно не открывается. Вставил Front Panel > Open, окно открылось, но оно заморожено, никакие кнопки не доступны. Это лечится? Мне это понадобилось, т.к. после компиляции библиотеки мне надо переложить ее копии в несколько мест. В окне можно сохранять план копирования разных библиотек по разным местам.
"окно" должно всё разложить само, или ждёт указаний, что-куда раскидать? Может оно всё по-быстрому сделало и завершило работу?
Аватара пользователя
Kosist

Activity Gold
expert
expert
Сообщения: 1227
Зарегистрирован: 21 фев 2011, 23:44
Награды: 2
Версия LabVIEW: 2013-2020
Благодарил (а): 23 раза
Поблагодарили: 29 раз
Контактная информация:

Re: Использование Pre/Post Build Actions при создании приложений

Сообщение Kosist »

Нужно его сделать диалоговым окном в свойствах виайки - Properties -> Window Appearance -> Dialog.
А чтобы открывалось, можно потом кликнуть на кнопку Customize -> Show front panel when called, и Close afterwards if originally closed.
Мы делили апельсин - много наших полегло...
Ответить
  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Создание приложений»