Как использовать 32-битный COM-объект из 64-битного приложения в Qt? - PullRequest
0 голосов
/ 17 июня 2020

Существует приложение. NET Windows (COM-объект), которое связано с оборудованием для получения данных датчика (1000 выборок как таковых c). Поскольку это старое приложение, мы хотели показать график еще красивее с помощью Qt. Я успешно добился этого, выполнив следующие шаги:

В моем 32-битном приложении Qt я использовал Dump cpp для создания библиотеки пространства имен C ++ с использованием идентификатора библиотеки. Dump cpp сгенерировал мне класс lib, который использует QAxWidget. Я использовал этот QAxWidget для получения данных из приложения. NET. Я получил данные и построил их в своем 32-битном приложении Qt. Пока все хорошо.

Я обновил свое приложение Qt с 32-битного до 64-битного. Поскольку приложение. NET 32-битное, а мое приложение Qt - 64-битное, QAxWidget не может зарегистрироваться, потому что он несовместим. Поскольку приложение. NET устарело, им не нужно прилагать усилий для выпуска 64-битной версии.

Чтобы найти обходной путь, я попробовал следующую Статью , и теперь QAxWidget успешно регистрируется, но у нас есть 2 проблемы

1) Многие данные датчика отсутствуют 2) Некоторые из данные датчика - rubbi sh.

Есть ли способ использовать 32-битный COM-объект в моем 64-битном приложении Qt?

...