Get LV Class Default Value VI

Простейшие вопросы в области инженерной разработки
rushonda
developer
developer
Сообщения: 289
Зарегистрирован: 26 фев 2016, 06:31
Версия LabVIEW: 18-20
Благодарил (а): 6 раз
Поблагодарили: 7 раз
Контактная информация:

Get LV Class Default Value VI

Сообщение rushonda »

https://github.com/TomsLabVIEWAdventure/IntroToOOP

Тут по ссылке пример работы с камерой на основе класса.
Пока не собираешь в exe все работает. В exe при запуске пишет ошибку. (exe положил рядом с проектом, пути проверил все норм).
Ошибка в "Get LV Class Default Value VI". Все что гугл сказал сделать, пробовал - галочки в настройках ставил - все равно ошибка. Наверняка кто-то сталкивался...
Может кто-то собрать на своей машине?
Artem.spb

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

Re: Get LV Class Default Value VI

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

rushonda писал(а): 17 июн 2020, 17:07 В exe при запуске пишет ошибку. (exe положил рядом с проектом, пути проверил все норм).
какую ошибку?
Может кто-то собрать на своей машине?
Собрать что?
Настройте билд, как вы это ожидаете.
И будет проще, если вы версию укажете.
в Профиле написано 19, хотя 18я открывает ваш проект.
rushonda
developer
developer
Сообщения: 289
Зарегистрирован: 26 фев 2016, 06:31
Версия LabVIEW: 18-20
Благодарил (а): 6 раз
Поблагодарили: 7 раз
Контактная информация:

Re: Get LV Class Default Value VI

Сообщение rushonda »

1) Ошибка 1124.
Get LV Class Default Value.vi<APPEND>

<b>Complete call chain:</b>
Get LV Class Default Value.vi
Camera Selector.vi
Main.vi

<b>LabVIEW attempted to load the class at this path:</b>
D:\Labview\Camera_Image_Picture\Camera_class\Simulation Class\Simulation.lvclass
2) Собрать exe.
3) Это не мой проект - использую как пример его. У меня и 18 и 19 стоят версии (собирал в 19).
Artem.spb

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

Re: Get LV Class Default Value VI

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

rushonda писал(а): 17 июн 2020, 20:01
2) Собрать exe.

настройте билдер, будем чинить. В проекте его нет
3) Это не мой проект - использую как пример его. У меня и 18 и 19 стоят версии (собирал в 19).
зачем нам дебажить чужой проект? Делайте свой, будем чинить.

По симптомам: run-time не хочет грузить класс из сырого файла, нужно его собрать в пакет/библиотеку
Вот тут занимаются решением вашего вопроса.
rushonda
developer
developer
Сообщения: 289
Зарегистрирован: 26 фев 2016, 06:31
Версия LabVIEW: 18-20
Благодарил (а): 6 раз
Поблагодарили: 7 раз
Контактная информация:

Re: Get LV Class Default Value VI

Сообщение rushonda »

Билд настроил.
Вложения
IntroToOOP-master.7z
(1.02 МБ) 85 скачиваний
rushonda
developer
developer
Сообщения: 289
Зарегистрирован: 26 фев 2016, 06:31
Версия LabVIEW: 18-20
Благодарил (а): 6 раз
Поблагодарили: 7 раз
Контактная информация:

Re: Get LV Class Default Value VI

Сообщение rushonda »

зачем нам дебажить чужой проект? Делайте свой, будем чинить.
Мой точно такой же в части камеры, тоже не билдится, симптомы те же.
Artem.spb

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

Re: Get LV Class Default Value VI

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

rushonda писал(а): 18 июн 2020, 11:12
зачем нам дебажить чужой проект? Делайте свой, будем чинить.
Мой точно такой же в части камеры, тоже не билдится, симптомы те же.
билд позже посмотрю, но зайдём с другой стороны.
Зачем грузить классы из внешних файлов? Есть причины не встроить их прямо в exe?
rushonda
developer
developer
Сообщения: 289
Зарегистрирован: 26 фев 2016, 06:31
Версия LabVIEW: 18-20
Благодарил (а): 6 раз
Поблагодарили: 7 раз
Контактная информация:

Re: Get LV Class Default Value VI

Сообщение rushonda »

[/quote]
Зачем грузить классы из внешних файлов? Есть причины не встроить их прямо в exe?
[/quote]

Причин грузить из внешних файлов нет - просто понравилась реализация. Просто странно что надо так глубоко копать чтобы собрать такой простой на первый взгляд билд. Да и интересно все-таки почему не билдится правильно, причем ошибок при билде нет.

Без загрузки классов из файла все работает.
Artem.spb

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

Re: Get LV Class Default Value VI

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

rushonda писал(а): 18 июн 2020, 12:26. Просто странно что надо так глубоко копать чтобы собрать такой простой на первый взгляд билд. Да и интересно все-таки почему не билдится правильно, причем ошибок при билде нет.
Дело не в билде. Я же написал. Перечитайте ошибку (описание). Файл "неисполняемый". Просто run-time не может выполнять сырой класс, надо его в библиотеку "скомпилировать".
rushonda
developer
developer
Сообщения: 289
Зарегистрирован: 26 фев 2016, 06:31
Версия LabVIEW: 18-20
Благодарил (а): 6 раз
Поблагодарили: 7 раз
Контактная информация:

Re: Get LV Class Default Value VI

Сообщение rushonda »

Т.е. subVI-ку в которой используется Get LV Class Default Value VI скомпилировать в библиотеку? В какую именно библиотеку?
Artem.spb

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

Re: Get LV Class Default Value VI

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

нет, классы надо собрать в пакет.
Blackman

Activity
leader
leader
Сообщения: 932
Зарегистрирован: 17 янв 2016, 15:02
Награды: 1
Версия LabVIEW: 6.1,8.5,20

Re: Get LV Class Default Value VI

Сообщение Blackman »

В приложении не скомпилированы зависимости классов, которые должны загружаться с диска.
Например для Simulation.lvclass как минимум нет файлов из следующих библиотек:
<vilib>\vision\Basics.llb
<vilib>\vision\Files.llb.
rushonda
developer
developer
Сообщения: 289
Зарегистрирован: 26 фев 2016, 06:31
Версия LabVIEW: 18-20
Благодарил (а): 6 раз
Поблагодарили: 7 раз
Контактная информация:

Re: Get LV Class Default Value VI

Сообщение rushonda »

Artem.spb писал(а): 19 июн 2020, 12:01 нет, классы надо собрать в пакет.
В пакет Package? C содержимым?
Blackman писал(а): 19 июн 2020, 12:50 В приложении не скомпилированы зависимости классов, которые должны загружаться с диска.
Т.е. Labview сам не подтягивает эти файлы?

Так во что все-таки нужно собрать классы, в какой пакет?

(пробовал собрать в библиотеку lvlib - добавил все три класса проекта, не помогло).
Blackman

Activity
leader
leader
Сообщения: 932
Зарегистрирован: 17 янв 2016, 15:02
Награды: 1
Версия LabVIEW: 6.1,8.5,20

Re: Get LV Class Default Value VI

Сообщение Blackman »

Google->labview plugin architecture
или
What Architecture Should I Use for Scalability and Flexibility in LabVIEW?
https://knowledge.ni.com/KnowledgeArtic ... 000kGQWSA2
Artem.spb

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

Re: Get LV Class Default Value VI

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

rushonda писал(а): 22 июн 2020, 08:58 Так во что все-таки нужно собрать классы, в какой пакет?
как-то мутно всё. Собирать так
lib.PNG
А тут инструкция по использованию в проекте.
Во только я не нашёл, как из библиотеки получить список файлов.
К тому же при запуске ругается на отсутствие зависимостей - тех самых vision библиотек.
И подозреваю, что не полуится их впихнуть в сборку ,т.к. vision денег немалых стоит, а так можно было бы собрать пакет и распространять куда попало...
Ответить

Вернуться в «Для чайников»