Re[2]: Динамическое создание типа интерфейса
От: PeterPan Россия  
Дата: 15.08.10 06:29
Оценка:
Здравствуйте, Jolly Roger, Вы писали:

JR>Здравствуйте, PeterPan, Вы писали:


JR>А можно озвучить решаемую задачу более подробно? Обрабатывать неизвестно какие события с неизвестно какой сигнатурой от неизвестно каких серверов — задача понятная для разного рода wizard'ов, создающих врапперы, но с этим вроде как должны справиться TypeLibConverter или AxImporter . А обычное приложение какую пользу может из этого извлечь?


Если имеется в виду задача из этой
Автор: Jolly Roger
Дата: 14.08.10
темы, то сигнатура событий известна. Как получить мета описания типов, методов аргументов я там описал.
Как принимать события я там также описал. Мне остается закончить динамическую генерацию интерфейса и объекта приемника событий и "подсунуть" его в СОМ-объекты — генератор событий.


JR>В принципе, если серверы генерят события через dispinterface, то достаточно просто их принять одним объектом, реализующем IDispatch. Нужно просто в QueryInterface на запрос диспинтерфейсов отдавать IDispatch, и все события пойдут в IDispatch.Invoke. В нативном коде это делается элеменарно, такую реализацию часто используют в качестве базового класса приёмников событий. Вероятно, можно попробовать провернуть это и в NET.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.