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

LabVIEW чудит при использовании lvlibp

Добавлено: 17 сен 2019, 17:52
ladik
Коллеги, приветствую!

Создаю в LabVIEW 2010 библиотеку lvlibp (порядка 500 VI, включая классы), добавляю её в проект и LV начинает чудить - зависает, крашится и т.д. Кто-то сталкивался с подобным? Мне что-то кажется, что LV10 сыроват для таких задач, но использование этой версии продиктовано заказчиком и от этого мне не уйти.

Re: LabVIEW чудит при использовании lvlibp

Добавлено: 17 сен 2019, 18:52
taras_33
Я использую PPL содержащие классы, причем динамически их подгружая. Проблем подобного рода не наблюдал. Правда это было и есть LabVIEW 2016 в прошлом и 2019 в настоящем.

Re: LabVIEW чудит при использовании lvlibp

Добавлено: 19 сен 2019, 16:41
ladik
taras_33, спасибо за информацию. Пока не нашёл решение, просто не включаю библиотеку в проект, а её функции верхнего уровня вызываю с помощью Call By Reference.

Re: LabVIEW чудит при использовании lvlibp

Добавлено: 17 май 2022, 13:20
Juri
Опытным путем выяснил, что в коде, запускаемом из lvlibp не работает Conditional Disable Structure, т.е. кейс RUN_TIME_ENGINE==True никогда не исполняется. Второй баг - плохо работает inline либо не не понятно как работает. Производительность программы значительно ниже если используются vi с включенным inline. Я эту проблему решил тем, что там, где важна производительность, все повторяющиеся vi заменял на содержащийся в них код.

Re: LabVIEW чудит при использовании lvlibp

Добавлено: 17 май 2022, 13:23
Juri
А может есть способ вывести на экран приватные vi произвольного класса из файла lvlibp?

Re: LabVIEW чудит при использовании lvlibp

Добавлено: 01 авг 2022, 17:13
Juri
Словил очередной сюрприз. В акторе есть мусорная :vi: со свойством Private, которая нигде не вызывается. Внутри нее происходит вызов dll, которой не существует. Компилирую lvlibp. Запускаю программу на рабочем компе. Все работает отлично. Повторяю все тоже самое на клиентском компе - краш. Меняю Private на Publick, компилю, и прога работает на клиенском компе. Что за подстава?

Re: LabVIEW чудит при использовании lvlibp

Добавлено: 02 авг 2022, 14:28
Artem.spb
Juri писал(а): 01 авг 2022, 17:13 Внутри нее происходит вызов dll, которой не существует.
Это как?

Re: LabVIEW чудит при использовании lvlibp

Добавлено: 02 авг 2022, 16:42
Juri
Вызов есть, а самой dll нет. Не знаю как, ошибки на стадии редактора нет и при компиляции тоже.

Re: LabVIEW чудит при использовании lvlibp

Добавлено: 02 авг 2022, 22:00
Artem.spb
Juri писал(а): 02 авг 2022, 16:42 Вызов есть, а самой dll нет.
Может, она есть, но не там, где вы думаете? Что-то типа системной, может даже банально по имени совпадает.

Re: LabVIEW чудит при использовании lvlibp

Добавлено: 02 авг 2022, 23:02
Kosist
Juri писал(а): 02 авг 2022, 16:42 Вызов есть, а самой dll нет. Не знаю как, ошибки на стадии редактора нет и при компиляции тоже.
Если бы dll не было, была бы ошибка при исполнении.

Re: LabVIEW чудит при использовании lvlibp

Добавлено: 02 авг 2022, 23:27
dadreamer
Juri писал(а): 02 авг 2022, 16:42Вызов есть, а самой dll нет. Не знаю как, ошибки на стадии редактора нет и при компиляции тоже.
Может, путь указывается на диаграмме, а не в CLFN? Или завёрнуто в Conditional Disable Structure?

Re: LabVIEW чудит при использовании lvlibp

Добавлено: 03 авг 2022, 01:08
Kosist
Juri писал(а): 17 май 2022, 13:20 Опытным путем выяснил, что в коде, запускаемом из lvlibp не работает Conditional Disable Structure, т.е. кейс RUN_TIME_ENGINE==True никогда не исполняется.
Сильное заявление. Я использую в проекте ppl, и CDS работает. Как Вы проверяли, что код действительно не выполняется? Может, там какая-то логика, и код просто не доходит до места, где используется CDS?