Я пытаюсь установить связь между двумя приложениями Windows в Delphi.Отправитель отправляет команды через SendMessage, используя WM_COPYDATA.Эта часть работает нормально.Возможно ли для получателя ответить на несколько строк результата в одном и том же вызове?Для меня это сбой, и вот что происходит сейчас:
Отправитель использует WM_COPYDATA для отправки команды Получателю, используя блокирующий вызов SendMessge.
Получатель обрабатывает команду и изменяет COPYDATASTRUCT с некоторыми результирующими строками, которые необходимо отправить обратно отправителю и выйти из обработчика события.
Функция получателя "SendMessage" возвращает, носодержимое COPYDATASTRUCT остается неизменным.
Очевидно, что механизм обмена сообщениями Windows не разделяет память COPYDATASTRUCT между двумя приложениями.Вместо этого он делает копию.