-
GrBob (13.09.06 10:54) [0]Добрый день. Есть библиотека типов. Есть ITypeInfo. Известно, что это интерфейс, но неизвестен его интерфейс-предок. Собственно, вопрос - как его узнать :)
-
Сергей М. © (13.09.06 11:30) [1]
> как его узнать
Заглянуть в ActiveX.pas
Там написано , что
ITypeInfo = interface;
Т.е. ITypeInfo есть наследник IUnknown -
GrBob (13.09.06 14:15) [2]Хмм... я не об этом. Пишу подробнее.
Предположим в библиотеке типов есть интерфейсIA = interface(IDispatch)
и есть интерфейсIB = interface(IA)
Я загрузил библиотеку типов, достал информацию об интерфейсе IB. Теперь у мня есть интерфейс ITypeInfo, рассказывающий про IB. Оттуда я могу достать информацию обо всех свойствах/методах IB и пр. И мне надо узнать, что IB наследник IA. Весь вопрос в том, как это сделать.
PS. Если опять не понятно, сформулирую так: Как имея только библиотеку типов (*.tlb или *.exe) получить информацию о том, какой интерфейс наследуется от какого. -
Сергей М. © (13.09.06 15:07) [3]
> мне надо узнать, что IB наследник IA
А нахрена ?)
Каков практический смысл познания сего факта ? -
GrBob (13.09.06 16:08) [4]Ну мало ли для чего. Лично мне надо просто полностью сравнить 2 tlb. В одной интерфейс IB наследуется от IA, а в другой от IC. Предположим, что IA и IC идентичны, а соответственно идентичны будут обнаруженные IB, а это не так, ибо у них разный предок.