![]() |
|
Модераторы: feodorv, GremlinProg, xvr, Fixin |
![]()
|
|
| Lepton |
|
||||
|
Новичок Профиль Группа: Участник Сообщений: 7 Регистрация: 12.1.2012 Репутация: нет Всего: нет |
Есть библиотека для приема данных от внешнего устройства через COM port. Я пишу прогу для приема данных. Код программы:
При вызове функции программа выдает ошибку (не на этапе компиляции, а уже после запуска):
|
||||
|
|||||
| Dem_max |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1780 Регистрация: 12.4.2007 Репутация: 16 Всего: 39 |
может вызываемые функции должны быть как __stdcall ???
-------------------- Американские программисты долго не могли понять, почему русские при зависании Windоws всё время повторяют "Твой зайка написал" ("Yоur bunnу wrоte") |
|||
|
||||
| Lepton |
|
||||
|
Новичок Профиль Группа: Участник Сообщений: 7 Регистрация: 12.1.2012 Репутация: нет Всего: нет |
Не думаю ((
Вот код DLL и h-file dll_rs232.cpp:
h-file:
|
||||
|
|||||
| Dem_max |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1780 Регистрация: 12.4.2007 Репутация: 16 Всего: 39 |
Так HRESULT CDll_RS232::Init() так это функция класса, как она экспортируется то ?
-------------------- Американские программисты долго не могли понять, почему русские при зависании Windоws всё время повторяют "Твой зайка написал" ("Yоur bunnу wrоte") |
|||
|
||||
| Lepton |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 7 Регистрация: 12.1.2012 Репутация: нет Всего: нет |
А что надо написать?
|
|||
|
||||
| Dem_max |
|
||||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1780 Регистрация: 12.4.2007 Репутация: 16 Всего: 39 |
как то так
Добавлено через 1 минуту и 42 секунды Лучше так
Это сообщение отредактировал(а) Dem_max - 12.1.2012, 11:28 -------------------- Американские программисты долго не могли понять, почему русские при зависании Windоws всё время повторяют "Твой зайка написал" ("Yоur bunnу wrоte") |
||||
|
|||||
| Lepton |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 7 Регистрация: 12.1.2012 Репутация: нет Всего: нет |
Не выходит ((
|
|||
|
||||
| Dem_max |
|
||||||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1780 Регистрация: 12.4.2007 Репутация: 16 Всего: 39 |
Вот этим ты сейчас пытаешься экспортировать функции из EXE, вопрос зачем ??? когда тебе нужно экспортировать из DLL в EXE писать
Добавлено через 2 минуты и 23 секунды
-------------------- Американские программисты долго не могли понять, почему русские при зависании Windоws всё время повторяют "Твой зайка написал" ("Yоur bunnу wrоte") |
||||||
|
|||||||
| Lepton |
|
||||||
|
Новичок Профиль Группа: Участник Сообщений: 7 Регистрация: 12.1.2012 Репутация: нет Всего: нет |
Написал так
На этапе
Возникает ошибка
|
||||||
|
|||||||
| Dem_max |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1780 Регистрация: 12.4.2007 Репутация: 16 Всего: 39 |
патамушта нужно везде (ВЕЗДЕ !!!) заменить CMacroString на char * или лучше на PTCHAR ( и не забыть подключить tchar.h)
Это сообщение отредактировал(а) Dem_max - 12.1.2012, 12:20 -------------------- Американские программисты долго не могли понять, почему русские при зависании Windоws всё время повторяют "Твой зайка написал" ("Yоur bunnу wrоte") |
|||
|
||||
| Lepton |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 7 Регистрация: 12.1.2012 Репутация: нет Всего: нет |
Все сделал. Не получается ((
|
|||
|
||||
| Dem_max |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1780 Регистрация: 12.4.2007 Репутация: 16 Всего: 39 |
надеюсь Init() у тебя не функция класса ????
-------------------- Американские программисты долго не могли понять, почему русские при зависании Windоws всё время повторяют "Твой зайка написал" ("Yоur bunnу wrоte") |
|||
|
||||
| Lepton |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 7 Регистрация: 12.1.2012 Репутация: нет Всего: нет |
Init() функция класса
|
|||
|
||||
| xvr |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 7046 Регистрация: 28.8.2007 Где: Дублин, Ирландия Репутация: 40 Всего: 223 |
Оригинально! Т.е. если не смогли взять адрес в pfnMyFunc, то выгружаем dll, а потом все равно зовем функцию (теперь уже по 0 адресу) Выноси ее из класса. Потом приходи снова - будем учиться отключать С++ манглинг имен, пресекать попытки передавать С++ классы через границы dll (да и еще by-value), ну и еще что нибудь |
|||
|
||||
![]()
|
| Правила форума "C/C++: Системное программирование и WinAPI" | |
|
|
На данный раздел распространяются Правила форума и Правила раздела С++:Общие вопросы . Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Chipset, Step, Fixin, GremlinProg, xvr. feodorv. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Системное программирование и WinAPI | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |