Russian Qt Forum
Ноябрь 24, 2024, 14:30 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1] 2   Вниз
  Печать  
Автор Тема: Подключение WinAPI / MFC /ATL и.т.д  (Прочитано 14038 раз)
0x0001
Гость
« : Март 08, 2010, 23:06 »

Так как имею множества классов из WinAPI / MFC /ATL под Win32, Вопрос,
КАК лучше использовать мои классы с QT, конечно, хотелось бы простым подключением этих sources...
в проект ?
Записан
gigabyte
Гость
« Ответ #1 : Март 08, 2010, 23:09 »

А что именно вы хотите сделать в своем приложении что без WinAPI....ну прям никак?
Записан
0x0001
Гость
« Ответ #2 : Март 09, 2010, 09:29 »

А что именно вы хотите сделать в своем приложении что без WinAPI....ну прям никак?
Следующие C++ Классы от MFC / WAPI, которые не реализовать на QT:
1.) работа с COM портом,
2.) с LPT портом,
3.) с API драйвера собственной PCI железки,
4.) MFC классы на CSocket (клиент TCP Сервера),
5.) Также, я использую свой класс CDirectX_Paint - графика контроллов MFC переписана на DirectX2004 (для красоты) Подмигивающий,
класс работает элементарно : по WM_PAINT(MFC::OnPaint() ) вызывается работа НЕ с контекстом окон DC (Win32 графика), а используется функции DirectX , всё же остальное  - стандартное MFC шное.
Вроде это всё.
Записан
BRE
Гость
« Ответ #3 : Март 09, 2010, 09:48 »

Следующие C++ Классы от MFC / WAPI, которые не реализовать на QT:
1.) работа с COM портом,
Есть несколько разных библиотек (QSerialDevice, QextSerialPort)
2.) с LPT портом
Я не встречал. Но это не значит что их нет...
3.) с API драйвера собственной PCI железки,
Не уверен, что для этого есть кросс-платформенные решения, хотя может кто-то и затевался...
4.) MFC классы на CSocket (клиент TCP Сервера),
QTcpServer/QTcpSocket/QUdpSocket?
5.) Также, я использую свой класс CDirectX_Paint - графика контроллов MFC переписана на DirectX2004 (для красоты) Подмигивающий,
класс работает элементарно : по WM_PAINT(MFC::OnPaint() ) вызывается работа НЕ с контекстом окон DC (Win32 графика), а используется функции DirectX , всё же остальное  - стандартное MFC шное.
DirectX это только венда... В Qt есть поддержка OpenGL, для 2D - делается поддержка OpenVG.
« Последнее редактирование: Март 09, 2010, 11:43 от BRE » Записан
0x0001
Гость
« Ответ #4 : Март 09, 2010, 10:08 »

Цитировать
3.) с API драйвера собственной PCI железки,
Не уверен, что для этого есть кросс-платформенные решения, хотя может кто-то и затевался...
Так в этом и есть моя идея - подключать платформозависимый код для конкретной компиляции, для Linux я подключу Другой код, ибо уже классы не WinAPI / MFC и т.д.......
Может быть перекомпилировать WinAPI /MFC(static) Классы в DLL и подключать из QT?
Может быть перекомпилировать их в ActivX компонент и подключать из QT? (хотя мне НЕ нравится ACtivX-ОЧЕНЬ тормознуто глючно)
Может быть включить sources на WonAPI  (h/cpp) в проект QT ?
Записан
BRE
Гость
« Ответ #5 : Март 09, 2010, 10:32 »

Ты имеешь ввиду технический вопрос подключения?
Можно использовать разные файлы, в зависимости от платформы для которой собирается проект.
Можно внутри файлов использовать разные куски кода, обернув их #ifdef.
Как тебе будет удобней.
Записан
hackoff
Гость
« Ответ #6 : Март 09, 2010, 11:22 »

Недавно наткнулся на QPort. Этот виджет интегрируется с Qt Designer. Вы можете работать с COM портами, не написав ни строчки кода...
Записан
kuzulis
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2812


Просмотр профиля
« Ответ #7 : Март 09, 2010, 11:27 »

2 BRE,
поправьте:
Цитировать
Есть несколько разных библиотек (QSerialDevice, QextSerialDevice)
на
Цитировать
Есть несколько разных библиотек (QSerialDevice, QextSerialPort)

2 hackoff,
Цитировать
Недавно наткнулся на QPort. Этот виджет интегрируется с Qt Designer. Вы можете работать с COM портами, не написав ни строчки кода...
эта весч на базе QextSerialPort

Улыбающийся
Записан

ArchLinux x86_64 / Win10 64 bit
0x0001
Гость
« Ответ #8 : Март 11, 2010, 16:56 »

Цитировать
Есть несколько разных библиотек (QSerialDevice, QextSerialPort)

Обе библиотеки не Рабочие, даже НЕ компилируются:
Код:
        link /LIBPATH:"c:\Qt\4.6.2\lib" /NOLOGO /DEBUG /DLL /MANIFEST /MANIFESTF
ILE:"build/obj\qextserialportd.intermediate.manifest" /OUT:build\qextserialportd
.dll @C:\Temp\nm17E6.tmp
qextserialenumerator.obj : error LNK2019: unresolved external symbol __imp__RegQ
ueryValueExW@24 referenced in function "private: static class QString __cdecl Qe
xtSerialEnumerator::getRegKeyValue(struct HKEY__ *,unsigned short const *)" (?ge
tRegKeyValue@QextSerialEnumerator@@CA?AVQString@@PAUHKEY__@@PBG@Z)
qextserialenumerator.obj : error LNK2019: unresolved external symbol __imp__RegC
loseKey@4 referenced in function "private: static void __cdecl QextSerialEnumera
tor::setupAPIScan(class QList<struct QextPortInfo> &)" (?setupAPIScan@QextSerial
Enumerator@@CAXAAV?$QList@UQextPortInfo@@@@@Z)
build\qextserialportd.dll : fatal error LNK1120: 2 unresolved externals
NMAKE : fatal error U1077: '"D:\Program Files\Microsoft Visual Studio 9.0\VC\BIN
\link.EXE"' : return code '0x460'
Stop.
NMAKE : fatal error U1077: '"D:\Program Files\Microsoft Visual Studio 9.0\VC\BIN
\nmake.exe"' : return code '0x2'
Stop.

Тестировал кто-нибудь их ? исправляли ли ошибки в коде ?
Записан
kuzulis
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2812


Просмотр профиля
« Ответ #9 : Март 11, 2010, 16:59 »

Цитировать
Обе библиотеки не Рабочие, даже НЕ компилируются:
ололо

Код:
Тестировал кто-нибудь их ? исправляли ли ошибки в коде ?
еще раз ололо
Записан

ArchLinux x86_64 / Win10 64 bit
0x0001
Гость
« Ответ #10 : Март 11, 2010, 17:09 »

Код:
Тестировал кто-нибудь их ? исправляли ли ошибки в коде ?
еще раз ололо
[/quote]

тогда что это? :
Код:
build\qextserialportd.dll not found or not built by the last incremental link; performing full link
1>qextserialenumerator.obj : error LNK2019: unresolved external symbol __imp__RegQueryValueExW@24 referenced in function "private: static class QString __cdecl QextSerialEnumerator::getRegKeyValue(struct HKEY__ *,unsigned short const *)" (?getRegKeyValue@QextSerialEnumerator@@CA?AVQString@@PAUHKEY__@@PBG@Z)
1>qextserialenumerator.obj : error LNK2019: unresolved external symbol __imp__RegCloseKey@4 referenced in function "private: static void __cdecl QextSerialEnumerator::setupAPIScan(class QList<struct QextPortInfo> &)" (?setupAPIScan@QextSerialEnumerator@@CAXAAV?$QList@UQextPortInfo@@@@@Z)

 Непонимающий
Записан
BigZ
Гость
« Ответ #11 : Март 11, 2010, 17:21 »

У тебя к проекту не подключены виндовые библиотеки, которые экспортируют RegQueryValueExW, RegCloseKey. Кажется это Advapi32.lib (Advapi32.dll)
Записан
0x0001
Гость
« Ответ #12 : Март 11, 2010, 17:59 »

Повозившись в sources, подключив некоторые библиотеки, в частности работы с реестром: RegQueryValueEx (они исgользуются для получения INFO о портах) проект QextSerial заработал, причём пой респект создателю - очень красивый и грамотный Код...
проект же QSerialDevice так и не собрался - КУЧА ошибок в include и области видимости , разбираться не стал , ибо код писал Сумашедший .......
Записан
kuzulis
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2812


Просмотр профиля
« Ответ #13 : Март 11, 2010, 18:04 »

Цитировать
проект же QSerialDevice так и не собрался - КУЧА ошибок в include и области видимости , разбираться не стал , ибо код писал Сумашедший .......
На грубость нарываешся?

По твоим постам видать что ты и в WinAPI не шариш и в MFC Улыбающийся ... Учи матчасть
Записан

ArchLinux x86_64 / Win10 64 bit
0x0001
Гость
« Ответ #14 : Март 11, 2010, 18:27 »

Цитировать
проект же QSerialDevice так и не собрался - КУЧА ошибок в include и области видимости , разбираться не стал , ибо код писал Сумашедший .......
На грубость нарываешся?
По твоим постам видать что ты и в WinAPI не шариш и в MFC Улыбающийся ... Учи матчасть
считаю - главное результат , я не пишу код ради кода , не развожу плату ради PCADa , не эмулюрую ЭМС ради MicroWave Office .... использую то , что мне надо в текущий момент ради текущей задачи и Это ДОЛЖНО работать... да, я не знаю весь MFC и всю WAPI и не хочу знать.
Записан
Страниц: [1] 2   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.135 секунд. Запросов: 23.