C++ Builder
| Главная | Уроки | Статьи | FAQ | Форум | Downloads | Литература | Ссылки | RXLib | Диски |

 
Послать сообщение программе, ... из DLL
Arsa
Отправлено: 09.12.2006, 02:07


Дежурный стрелочник

Группа: Участник
Сообщений: 77



Мне нужно послать сообщение проге из длл ввиде текста "Second level", но при этом сообщение должно записаться в переменную проги.

Подскажите, пожалуйста, как лччше это реализовать ...
olegenty
Отправлено: 09.12.2006, 12:59


Ветеран

Группа: Модератор
Сообщений: 2412



написать в DLL — PastMessage(HandleOfMainWindow, CM_OWN_MESSAGE, x, y), а в MainWindow написать обработчик сообщения CM_OWN_MESSAGE
Romikgy
Отправлено: 10.12.2006, 13:17


Дежурный стрелочник

Группа: Участник
Сообщений: 72



Имхо лучше строку слать или через ф_ции или через сокет или через файлмапинг, ибо через сообщения (Message ) очень трудно передавать строки, хотя можно еще через буфер обмена сделать
olegenty
Отправлено: 11.12.2006, 11:39


Ветеран

Группа: Модератор
Сообщений: 2412



ну если уж на то пошло, то для этой цели лично я использую класс-адаптер, который каждая экспортируемая из DLL функция получает на входе и который играет роль некого глобального Callback, обеспечивающего универсальное стандартное межмодульное взаимодействие. просто это уже менее тривиально, чем просто слануть сообщение. касаемо же передачи строк — а в чём проблема? передавай адрес строки, главное — не забыть очистить его содержимое после использования. касаемо же передачи через буфер — я б студенту за такое двойку без права пересдачи поставил. где гарантия, что любой-хрен-знает-какой-именно-процесс не воспользуется буфером?
ion
Отправлено: 15.12.2006, 11:00


Ученик-кочегар

Группа: Участник
Сообщений: 15



можно передать через атомы , хорошая штука, мало почемуто о них говорят
Romikgy
Отправлено: 15.12.2006, 15:41


Дежурный стрелочник

Группа: Участник
Сообщений: 72



имхо атомы не сильно удобны хотя можно и через них
Arsa
Отправлено: 19.12.2006, 22:58


Дежурный стрелочник

Группа: Участник
Сообщений: 77



Если не сложно, выложите плиз примерчик по Message.

Отредактировано Arsa — 19.12.2006, 22:59

Вернуться в Вопросы программирования в C++Builder