COM - DLL и TLB
Модераторы: Naeel Maqsudov, C_O_D_E
-
- Сообщения: 497
- Зарегистрирован: 17 фев 2004, 11:26
- Откуда: Ленинград (который Город на Неве)
- Контактная информация:
Кто скажет, обязательно ли с COM-ом таскать за собой TypeLibrary?
"Особое внимание начинающих аквариумистов хотим обратить на то, что рыбки никогда не спят на спинке!" (c)
viel spass, DeeJayC
viel spass, DeeJayC
Отвечу безгамотно - не обязательно. Мой бар для IE и без неё замечательно живёт. А грамотно вопос видимо нужно формулировать так: в каких случаях обязательно таскать за собой TypeLibrary 

Даже самый дурацкий замысел можно воплотить мастерски
-
- Сообщения: 497
- Зарегистрирован: 17 фев 2004, 11:26
- Откуда: Ленинград (который Город на Неве)
- Контактная информация:
Ну а если "переформулировать", то что? У меня, например, он без TypeLibrary не живёт...
"Особое внимание начинающих аквариумистов хотим обратить на то, что рыбки никогда не спят на спинке!" (c)
viel spass, DeeJayC
viel spass, DeeJayC
com/type_library.htmlКомпилируя IDL-файл MIDL выдаёт в числе прочих результатов файл с расширением *.tlb - это в точности исходное описание типов, но уже - в упакованном двоичном формате. Оно является стандартным описанием для всех компонентов COM, т.е. все средства разработки, которые поддерживают COM обязаны этот формат понимать. Это и позволяет говорить о том, что сервер, разработанный на одном языке можно будет использовать в паре с клиентом, разработанным на другом языке. Другим употребительным расширением для файла библиотеки типов является *.olb, да к тому же библиотека типов может существовать в виде отдельного файла, а может быть включена в состав ресурсов модуля (*.exe, *.dll) - по своей сущности библиотека типов является просто обособленным набором двоичных структур в некотором стандартном для среды COM формате.
Даже самый дурацкий замысел можно воплотить мастерски
Я себе представляю это так:
TypeLibary требуется для того что бы конечный пользователь (другой программист), мог узнать, что вы напояли в своей библиотеке. В случае если ваш проект закончен и альтернативное использование вашей библиотеке com другими программистами не предвидится то библиотека типов не требуется.
Еще TypeLibary может потребоваться если один из вашех модулей динамически вызывает функции com основываясь на данных библиотеки типов, но это уже зависит от реализации внешнего модуля, если он (внешний модуль) требует то нужно.
TypeLibary требуется для того что бы конечный пользователь (другой программист), мог узнать, что вы напояли в своей библиотеке. В случае если ваш проект закончен и альтернативное использование вашей библиотеке com другими программистами не предвидится то библиотека типов не требуется.
Еще TypeLibary может потребоваться если один из вашех модулей динамически вызывает функции com основываясь на данных библиотеки типов, но это уже зависит от реализации внешнего модуля, если он (внешний модуль) требует то нужно.