![]() |
|
Модераторы: feodorv, GremlinProg, xvr, Fixin |
![]()
|
|
| wallstreet |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 153 Регистрация: 11.8.2011 Репутация: нет Всего: нет |
Всем добрый день.
Собственно суть моей задачи сводится к освоению коммуникации двух приложений разных процессов путем передачи сообщения SendMessage(). Таким образом я создал два приложения (Sender и Acceptor) в одном из которых (Sender) происходит ввод текста пользователем в едит бокс и передача его другому (Acceptor), которое его принимает и выводит в элемент управления статик текст. Проблема заключается в том, что передаю я то что ввел, а принимаю иероглифы. Есть предположение что обработка сообщения WM_COPYDATA работает только с ASCII кодировкой. ссылки для скачивания: =>SENDER ACCEPTOR вобщем буду рад любой подсказке Это сообщение отредактировал(а) wallstreet - 31.5.2012, 13:00 |
|||
|
||||
| DarkProg |
|
||||
![]() Законченный романтик ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1784 Регистрация: 11.3.2009 Где: Земля Репутация: нет Всего: 19 |
В Delphi есть специальная функция, SendTextMessage, реализация её вот такая
На стороне принимающего приложения нужно определить структуру(код делфи, но перевести на структуру не так сложно)
И принимать сообщение типа TTextMessage. Извиняюсь, что не код на C, но думаю всё получится. -------------------- "И твоя голова всегда в ответе за то куда сядет твой зад..." "Я студент - скажите с какого я ВУЗа..." |
||||
|
|||||
| feodorv |
|
||||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2214 Регистрация: 30.7.2011 Репутация: 9 Всего: 45 |
Вытяну код из многомегабайтных архивов.
Sender
Acceptor
Что это такое??? И это Вы посылаете? Это не то, что Вы ввели. То, что Вы ввели, находится здесь: &text[0]. -------------------- Напильник, велосипед, грабли и костыли - основные инструменты программиста... |
||||||
|
|||||||
| wallstreet |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 153 Регистрация: 11.8.2011 Репутация: нет Всего: нет |
||||
|
||||
| feodorv |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2214 Регистрация: 30.7.2011 Репутация: 9 Всего: 45 |
Там есть ещё немного мелочёвки)))) При каждом WM_COPYDATA для p будет выделяться память (а прошлая выделенная - теряться). Зачем её вообще выделять, если выше есть объявление Достаточно просто проверить, что данных пришло не слишком много, и они все умещаются в text. p, кстати, так нигде и не высвобождается... Далее. Здесь размер присланного ещё как-то учитывается: Вот тут - 256 символов, и точка: -------------------- Напильник, велосипед, грабли и костыли - основные инструменты программиста... |
|||
|
||||
| wallstreet |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 153 Регистрация: 11.8.2011 Репутация: нет Всего: нет |
Благодарю за подсказку.
Незнаю правильно или нет, но переделал проблемный кусок и пока все работает как надо.
Теперь необходимость в выделении памяти отпала, как и в ее удалении. |
|||
|
||||
| volatile |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2107 Регистрация: 7.1.2011 Репутация: 13 Всего: 85 |
Если данных пришло больше 256, зачем посылать мусор из text[] в IDC_STATIC ? Зачем вообще столько лишних движений ?
|
|||
|
||||
| wallstreet |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 153 Регистрация: 11.8.2011 Репутация: нет Всего: нет |
О да, супер!
|
|||
|
||||
![]()
|
| Правила форума "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. |