Приветствую!
Пытаюсь работать со связкой LabView 2011 + АЦП/ЦАП E-440. Хочется использовать одновременно и цап и ацп, т.е. хочу из окна лабвью генерировать сигнал определенной формы, и в этом же окне наблюдать сигнал пришедший из вне на осциллографе. Кнопка Run активна, а при её нажатии возникает ошибка из заголовка. Если есть желание посмотреть на саму прогу, приложу со всеми библиотеками.
Коллеги, с чем может быть связана данная ошибка? Как от неё избавиться?
Ошибка: pure virtual function called
-
IvanLis
- guru
- Сообщения: 5467
- Зарегистрирован: 02 дек 2009, 17:44
- Награды: 7
- Версия LabVIEW: 2015, 2016
- Откуда: СССР
- Благодарил (а): 28 раз
- Поблагодарили: 87 раз
Re: Ошибка: pure virtual function called
Если бы Вы выложили скрин кода, указали место где возникает ошибка и что конкретно пишет, то бы ло бы на много проще
Знание нескольких принципов освобождает от знания многих фактов!
Правила форума
Как добавить в сообщение картинку или файл
Конвертация / версий (форматов) VI
Как правильно задать вопрос...
Правила форума
Как добавить в сообщение картинку или файл
Конвертация / версий (форматов) VI
Как правильно задать вопрос...
-
dadreamer
- professor
- Сообщения: 3926
- Зарегистрирован: 17 фев 2013, 16:33
- Награды: 4
- Версия LabVIEW: 2.5 — 2022
- Благодарил (а): 11 раз
- Поблагодарили: 127 раз
- Контактная информация:
Re: Ошибка: pure virtual function called
Такая ошибка связана с какой-то из библиотек, написанных на C++, и возникает, когда программа пытается вызвать чисто виртуальную функцию абстрактного класса из конструктора/деструктора базового класса. Почитайте тут и тут, например. У меня такое бывало, когда одновременно производилась финализация всех структур (т.е., очистка объектов в оперативной памяти, закрытие устройств и т.п.) и какой-то вызов, как правило из той же библиотеки, откуда вызывался деструктор. Например, указатели уже обнулились и классы уничтожены, а программа пытается получить данные с какой-то железки (камера, плата, что угодно). Если это не ваша библиотека, то скорее всего косяк производителя. Ищите более свежую версию, где баги пофиксены. Или же у вас некорректно составлен код в , и в разных потоках одновременно вызываются функции, которые не нужно вызывать одновременно. Могу ещё посоветовать переустановить пакет Microsoft Visual C++ Redistributable Package, иногда помогает, судя по отзывам в сети.
-
- interested
- Сообщения: 5
- Зарегистрирован: 22 авг 2011, 10:00
- Версия LabVIEW: 10
- Контактная информация:
Re: Ошибка: pure virtual function called
Библиотеки не мои. И вероятнее всего действительно вызываются одновременно 2 подпрограммы, которые не могут работать параллельно, поскольку я буквально "склеил" 2 программы в одну...Если это не ваша библиотека, то скорее всего косяк производителя. Ищите более свежую версию, где баги пофиксены. Или же у вас некорректно составлен код в , и в разных потоках одновременно вызываются функции, которые не нужно вызывать одновременно.
Спасибо за развернутый ответ, посмотрю, где может быть двойной вызов.
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение