Я пишу реализацию Excel RTD-сервера, и я застрял на шаблоне для класса, который реализует IDispatch
. У меня нет доступа к ATL, но я использую ActiveQt, хотя мне интересно, как это сделать в сыром C или С++. Как правильно реализовать методы IDispatch
на COM-сервере?
Документация просто панически ужасна, как всегда. Что я до сих пор читал:
- Лучше использовать делегировать вызов метода
IDispatch
для некоторыхITypeInfo
. Правильно ли это? - Если да, как получить
ITypeInfo
для себя? LoadTypeLib() и семейство (с последующим просмотромITypeLib::GetTypeInfo()
)? - Если нет, то как он выполняется правильно? Ссылки на документацию хорошего качества и самодостаточные примеры очень полезны.
Подход LoadTypeLib()
кажется подходящим для COM-клиента для получения информации о типе для некоторой библиотеки, а не для COM-сервера, который пытается сам себя разобраться. Правильно ли я?