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

Get LV Class Default Value VI

Добавлено: 17 июн 2020, 17:07
rushonda
https://github.com/TomsLabVIEWAdventure/IntroToOOP

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

Re: Get LV Class Default Value VI

Добавлено: 17 июн 2020, 17:33
Artem.spb
rushonda писал(а): 17 июн 2020, 17:07 В exe при запуске пишет ошибку. (exe положил рядом с проектом, пути проверил все норм).
какую ошибку?
Может кто-то собрать на своей машине?
Собрать что?
Настройте билд, как вы это ожидаете.
И будет проще, если вы версию укажете.
в Профиле написано 19, хотя 18я открывает ваш проект.

Re: Get LV Class Default Value VI

Добавлено: 17 июн 2020, 20:01
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).

Re: Get LV Class Default Value VI

Добавлено: 17 июн 2020, 22:14
Artem.spb
rushonda писал(а): 17 июн 2020, 20:01
2) Собрать exe.

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

По симптомам: run-time не хочет грузить класс из сырого файла, нужно его собрать в пакет/библиотеку
Вот тут занимаются решением вашего вопроса.

Re: Get LV Class Default Value VI

Добавлено: 18 июн 2020, 09:22
rushonda
Билд настроил.

Re: Get LV Class Default Value VI

Добавлено: 18 июн 2020, 11:12
rushonda
зачем нам дебажить чужой проект? Делайте свой, будем чинить.
Мой точно такой же в части камеры, тоже не билдится, симптомы те же.

Re: Get LV Class Default Value VI

Добавлено: 18 июн 2020, 11:57
Artem.spb
rushonda писал(а): 18 июн 2020, 11:12
зачем нам дебажить чужой проект? Делайте свой, будем чинить.
Мой точно такой же в части камеры, тоже не билдится, симптомы те же.
билд позже посмотрю, но зайдём с другой стороны.
Зачем грузить классы из внешних файлов? Есть причины не встроить их прямо в exe?

Re: Get LV Class Default Value VI

Добавлено: 18 июн 2020, 12:26
rushonda
[/quote]
Зачем грузить классы из внешних файлов? Есть причины не встроить их прямо в exe?
[/quote]

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

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

Re: Get LV Class Default Value VI

Добавлено: 18 июн 2020, 12:33
Artem.spb
rushonda писал(а): 18 июн 2020, 12:26. Просто странно что надо так глубоко копать чтобы собрать такой простой на первый взгляд билд. Да и интересно все-таки почему не билдится правильно, причем ошибок при билде нет.
Дело не в билде. Я же написал. Перечитайте ошибку (описание). Файл "неисполняемый". Просто run-time не может выполнять сырой класс, надо его в библиотеку "скомпилировать".

Re: Get LV Class Default Value VI

Добавлено: 19 июн 2020, 08:48
rushonda
Т.е. subVI-ку в которой используется Get LV Class Default Value VI скомпилировать в библиотеку? В какую именно библиотеку?

Re: Get LV Class Default Value VI

Добавлено: 19 июн 2020, 12:01
Artem.spb
нет, классы надо собрать в пакет.

Re: Get LV Class Default Value VI

Добавлено: 19 июн 2020, 12:50
Blackman
В приложении не скомпилированы зависимости классов, которые должны загружаться с диска.
Например для Simulation.lvclass как минимум нет файлов из следующих библиотек:
<vilib>\vision\Basics.llb
<vilib>\vision\Files.llb.

Re: Get LV Class Default Value VI

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

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

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

Re: Get LV Class Default Value VI

Добавлено: 22 июн 2020, 10:05
Blackman
Google->labview plugin architecture
или
What Architecture Should I Use for Scalability and Flexibility in LabVIEW?
https://knowledge.ni.com/KnowledgeArtic ... 000kGQWSA2

Re: Get LV Class Default Value VI

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