Российский производитель и разработчик сертифицированного измерительного оборудования с 1987 года

Оконное приложение QT для E20-10

Вы не вошли.

 Поиск | Регистрация | Вход 

LCard user
03.03.2019 22:41:08
#1

Гость

Оконное приложение QT для E20-10

Добрый вечер.
В настоящий момент пишу программу (Qt, С++), которая должна в потоке читать данные с E20-10 и строить на их основе график в оконном приложении. Консольная программа (без потоков) читает данные устройства, проблем нет. При попытке создать поток и вызвать в нем функцию  pModule = static_cast<ILE2010*>(CreateLInstance("e2010")) обнаружил странное поведение QT, а именно он (QT) отказывается запускаться.
Все компилируется, но при попытке запуска получаю следующее сообщение:
22:15:57: Starting G:\ADCReader\FormApp\build-ADCReader-Desktop_Qt_5_12_1_MinGW_64_bit-Debug\debug\ADCReader.exe...
22:15:57: The program has unexpectedly finished.
22:15:57: The process was ended forcefully.
22:15:58: G:/ADCReader/FormApp/build-ADCReader-Desktop_Qt_5_12_1_MinGW_64_bit-Debug/debug/ADCReader.exe crashed.

Если убрать указанную строчку кода то приложение запускается, но как понятно весь свой смысл теряет (нет возможности чтения АЦП - нет нужды в программе). Консольная версия программы с тем же потоком и упомянутой функцией запускается без проблем. Что я могу делать не так? Пробовал создавать новое приложение и перетаскивать все файлы в него. Результат отрицательный. Проблема именно с оконным приложением и потоком.

PS: Win10, x64.
PSS: Ссылка на оконное и контрольное приложения (https://yadi.sk/d/Znq3yoZ9FGmx3w).

LCard user
04.03.2019 08:59:26
#2

Гость

Re: Оконное приложение QT для E20-10

Переустановил QT. Пробую следующий код (потоков нет):
#include <Lusbapi.h>
#include <LusbapiTypes.h>
#include <Lusbbase.h>
#include <E2010.h>

MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow)
{
    ui->setupUi(this);

    //CreateLInstance("e2010");
    ILE2010 *pModule = static_cast<ILE2010*>(CreateLInstance("e2010"));
}

Приложение все также отказывается запускаться. Перепробовал разные версии MinGW: 5.11.3, 5.12.0, 5.12.1. Результат везде один и тот же, а именно: приложение не запускается (08:55:38: G:/ADCReader/FormApp_test_2/build-test-Desktop_Qt_5_12_1_MinGW_64_bit-Debug/debug/test.exe crashed). Прошу помощи в поиске причины и ее устранении.


LCard user пишет:

Добрый вечер.
В настоящий момент пишу программу (Qt, С++), которая должна в потоке читать данные с E20-10 и строить на их основе график в оконном приложении. Консольная программа (без потоков) читает данные устройства, проблем нет. При попытке создать поток и вызвать в нем функцию  pModule = static_cast<ILE2010*>(CreateLInstance("e2010")) обнаружил странное поведение QT, а именно он (QT) отказывается запускаться.
Все компилируется, но при попытке запуска получаю следующее сообщение:
22:15:57: Starting G:\ADCReader\FormApp\build-ADCReader-Desktop_Qt_5_12_1_MinGW_64_bit-Debug\debug\ADCReader.exe...
22:15:57: The program has unexpectedly finished.
22:15:57: The process was ended forcefully.
22:15:58: G:/ADCReader/FormApp/build-ADCReader-Desktop_Qt_5_12_1_MinGW_64_bit-Debug/debug/ADCReader.exe crashed.

Если убрать указанную строчку кода то приложение запускается, но как понятно весь свой смысл теряет (нет возможности чтения АЦП - нет нужды в программе). Консольная версия программы с тем же потоком и упомянутой функцией запускается без проблем. Что я могу делать не так? Пробовал создавать новое приложение и перетаскивать все файлы в него. Результат отрицательный. Проблема именно с оконным приложением и потоком.

PS: Win10, x64.
PSS: Ссылка на оконное и контрольное приложения (https://yadi.sk/d/Znq3yoZ9FGmx3w).

04.03.2019 09:18:40
#3

Участник
Здесь с 13.02.2019
Сообщений: 4

Re: Оконное приложение QT для E20-10

Проблема решена. Необходимо было положить в папку с exe libusb.dll, которая там изначально и лежала. В процессе работы папку прибил, а повторно положить либу забыл... Итого потратил пол дня.

Контакты

Адрес: 117105, Москва, Варшавское шоссе, д. 5, корп. 4, стр. 2

Многоканальный телефон:
+7 (495) 785-95-25

Отдел продаж: sale@lcard.ru
Техническая поддержка: support@lcard.ru

Время работы: с 9-00 до 19-00 мск