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

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

Silver
developer
developer
Сообщения: 275
Зарегистрирован: 18 ноя 2014, 11:45
Награды: 1
Версия LabVIEW: 2015, 2019
Откуда: Екатеринбург
Благодарил (а): 4 раза
Поблагодарили: 3 раза
Контактная информация:

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

Сообщение ladik »

Коллеги, приветствую!

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

Activity
professional
professional
Сообщения: 391
Зарегистрирован: 31 окт 2009, 18:25
Награды: 1
Версия LabVIEW: 2019
Поблагодарили: 13 раз
Контактная информация:

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

Сообщение taras_33 »

Я использую PPL содержащие классы, причем динамически их подгружая. Проблем подобного рода не наблюдал. Правда это было и есть LabVIEW 2016 в прошлом и 2019 в настоящем.
Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the Universe trying to produce bigger and better idiots.
So far, the Universe is winning!
Аватара пользователя
ladik

Silver
developer
developer
Сообщения: 275
Зарегистрирован: 18 ноя 2014, 11:45
Награды: 1
Версия LabVIEW: 2015, 2019
Откуда: Екатеринбург
Благодарил (а): 4 раза
Поблагодарили: 3 раза
Контактная информация:

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

Сообщение ladik »

taras_33, спасибо за информацию. Пока не нашёл решение, просто не включаю библиотеку в проект, а её функции верхнего уровня вызываю с помощью Call By Reference.
Дорогу осилит идущий.
Аватара пользователя
Juri
I/O
I/O
Сообщения: 263
Зарегистрирован: 19 апр 2017, 23:06
Версия LabVIEW: 2021
Благодарил (а): 13 раз
Поблагодарили: 6 раз

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

Сообщение Juri »

Опытным путем выяснил, что в коде, запускаемом из lvlibp не работает Conditional Disable Structure, т.е. кейс RUN_TIME_ENGINE==True никогда не исполняется. Второй баг - плохо работает inline либо не не понятно как работает. Производительность программы значительно ниже если используются vi с включенным inline. Я эту проблему решил тем, что там, где важна производительность, все повторяющиеся vi заменял на содержащийся в них код.
Аватара пользователя
Juri
I/O
I/O
Сообщения: 263
Зарегистрирован: 19 апр 2017, 23:06
Версия LabVIEW: 2021
Благодарил (а): 13 раз
Поблагодарили: 6 раз

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

Сообщение Juri »

А может есть способ вывести на экран приватные vi произвольного класса из файла lvlibp?
Аватара пользователя
Juri
I/O
I/O
Сообщения: 263
Зарегистрирован: 19 апр 2017, 23:06
Версия LabVIEW: 2021
Благодарил (а): 13 раз
Поблагодарили: 6 раз

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

Сообщение Juri »

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

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

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

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

Juri писал(а): 01 авг 2022, 17:13 Внутри нее происходит вызов dll, которой не существует.
Это как?
Аватара пользователя
Juri
I/O
I/O
Сообщения: 263
Зарегистрирован: 19 апр 2017, 23:06
Версия LabVIEW: 2021
Благодарил (а): 13 раз
Поблагодарили: 6 раз

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

Сообщение Juri »

Вызов есть, а самой dll нет. Не знаю как, ошибки на стадии редактора нет и при компиляции тоже.
Artem.spb

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

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

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

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

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

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

Сообщение Kosist »

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

Activity Professionalism Автор
professor
professor
Сообщения: 3926
Зарегистрирован: 17 фев 2013, 16:33
Награды: 4
Версия LabVIEW: 2.5 — 2022
Благодарил (а): 11 раз
Поблагодарили: 126 раз
Контактная информация:

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

Сообщение dadreamer »

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

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

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

Сообщение Kosist »

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

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