Страница 1 из 1

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

Добавлено: 26 ноя 2016, 21:18
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

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

Добавлено: 28 ноя 2016, 08:48
alex3f
Использую Pre/Post Build Actions в процедуре полной оптимизации компилятора, описанной в справке http://zone.ni.com/reference/en-XX/help ... ion_speed/

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

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

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

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

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

Добавлено: 23 сен 2021, 16:56
Kosist
Нужно его сделать диалоговым окном в свойствах виайки - Properties -> Window Appearance -> Dialog.
А чтобы открывалось, можно потом кликнуть на кнопку Customize -> Show front panel when called, и Close afterwards if originally closed.