Re[15]: ActiveX и Word.
От: VladD2 Российская Империя www.nemerle.org
Дата: 03.08.01 15:52
Оценка:
Здравствуйте Ростислав Глухов, вы писали:

А>>BEGIN_COM_MAP(CActiveBC)

А>> .......
А>> COM_INTERFACE_ENTRY(IPersistStreamInit)
А>> COM_INTERFACE_ENTRY2(IPersist, IPersistStreamInit)
А>> COM_INTERFACE_ENTRY(IPersistStorage)
А>> COM_INTERFACE_ENTRY(IPersistPropertyBag)
А>> COM_INTERFACE_ENTRY2(IPersistStream, IPersistStreamInit)
А>> .......
А>>END_COM_MAP()
РГ>Карта нормальная

Нет. Карта кривая, но к делу это не отностся.
COM_INTERFACE_ENTRY2 — не надо применять к IPersistStream. 3-я версия ATL-а кривая и допускает такое несоответствие. В VC 7 (7-ом ATL-е) это перестанет работать. Дело в том,что IPersistStreamInit не унаследован от IPersistStream, а просто похож. По этому нужно испльзовать COM_INTERFACE_ENTRY_IID.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.