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

 
Обмен сообщ. между длл и ехе, Чтобы один подождал другого
Schumi
Отправлено: 30.11.2005, 16:56


Машинист паровоза

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



Вызываю из ехе функцию длл. Она выполняется, потом на некотором этапе нужно вызвать некий диалог из ехе — выполнить некий диалог с пользователем, а потом вернуть результат обратно в длл — и вызванная функция продолжила бы работу...
Я как представляю — работает функция — потом доходит до этапа — отправляет мсж главной форме — она уже вызывает диалог. Результат отправляет обратно мсж.
Но я не знаю, как в функции длл ожидать обратного мсж, и во вторых — кому обратно отправлять мсж из ехе. Подскажите как мне так реализовать.
Doga
Отправлено: 30.11.2005, 20:38


Мастер участка

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



Что бы Ваша DLL могла принимать сообщения, она должна иметь объект типа HWND. Собственно он и будет реагировать на сообщения.
Schumi
Отправлено: 01.12.2005, 09:03


Машинист паровоза

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



А как его получить?
Rius
Отправлено: 01.12.2005, 11:03


Мастер участка

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



проще в dll передать указатель на функцию ввода, находящуюся в осноной программе
olegenty
Отправлено: 01.12.2005, 11:22


Ветеран

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



полностью согласен с Rius — если в DLL нет окон, то лучше всего сделать это с помощью Callback-функции.
Schumi
Отправлено: 02.12.2005, 10:18


Машинист паровоза

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



Да, я уже так и сделал.
И все же...
Gedeon
Отправлено: 02.12.2005, 12:18


Ветеран

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



QUOTE (Schumi @ 02/12/2005, 10:18)
Да, я уже так и сделал.
И все же...

А что же? Все же?
Schumi
Отправлено: 02.12.2005, 12:49


Машинист паровоза

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



В смысле я так и не выяснил, как сделать, чтобы можно было выполнить обмен между формой и функцией, у которой хэндла нет и быть не может.
Под обменом я представляю, что функция запросила что-то у формы, подождала пока получит и продолжила работу.
Rius
Отправлено: 02.12.2005, 12:54


Мастер участка

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



QUOTE (Schumi @ 02/12/2005, 15:49)
В смысле я так и не выяснил, как сделать, чтобы можно было выполнить обмен между формой и функцией, у которой хэндла нет и быть не может.
Под обменом я представляю, что функция запросила что-то у формы, подождала пока получит и продолжила работу.

и спрашивается, причем здесь тогда сообщения? это же обычный вызов функции

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