Когда необходима регистрация библиотеки типов? - PullRequest
1 голос
/ 11 ноября 2009

Например, если вы пишете расширение оболочки, необходимо ли зарегистрировать typelib с помощью CComModule::RegisterServer (т.е. мне интересно, вызовет ли это вызов с помощью FALSE и вызовет некоторые проблемы).

Ответы [ 2 ]

1 голос
/ 11 ноября 2009

Вряд ли когда-либо. Теоретически библиотеки типов будут использоваться средами IDE, которые не хотят отображать списки свойств и методов объекта. OleSpy ++ или любой другой инструмент, который называется, может использовать библиотеки типов для генерации довольно большого количества важной информации об ActiveX

В MSVC вы можете использовать #import в ActiveX со встроенной библиотекой типов, и будут автоматически генерироваться заголовочные файлы, описывающие интерфейсы и типы.

При работе с хорошо известными интерфейсами - опубликованными на платформе sdk - или если заголовочные файлы уже предоставлены для привязок C & C ++, то библиотеки типов не нужны.

Даже при использовании из языков сценариев IDispatchEx теперь представляется предпочтительным в качестве механизма обнаружения для IDE или кода для запроса объекта поддержки IDispatch во время выполнения для его методов.

1 голос
/ 11 ноября 2009

В общем, можно сказать FALSE, если вам не нужна библиотека типов, потому что кто-то будет вызывать вашу реализацию IDispatch. Для большинства расширений оболочки я не думаю, что вам нужна библиотека типов.

...