Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.07.11;
Скачать: CL | DM;

Вниз

Версии интерфейсов   Найти похожие ветки 

 
k_il   (2004-09-13 18:18) [0]

Есть библиотека с СОМ обьектом и интрфейсами, каждый интерфейс имеет атрибут версия... Как в ехе-шнике который использует эту библиотеку узнать версию интерфейса.

Спасибо


 
Cobalt ©   (2004-09-13 23:42) [1]

Предложения:
1) Административно обеспечить наличие последней версии интерфейса на каждом месте установленного ПО
2) Таки есть атрибут? (точнее, это должен быть метод, который возвращает версию)

Встречный вопрос - а какого фига там различия от версии к версии? Поддержка нескольких версий интерфейсов - не лучшее решение.


 
k_il   (2004-09-14 11:08) [2]

Спасибо за ответ...
Различия от версии к версии получились из-за того, что появилась
необходимость добавить в один из интерфейсов метод, которого небыло в старой версии библиотеки. Причом старая версия долыжна
корректно работать с ехе-шником. Поэтому первой идеей была проверка версий интерфейсов, но сейчас мне кажеться что лучше написать новый интерфейс который бы возвращал версию не интерфейсов а самой библиотеки, а в ехе-шнике написать проверки...


 
Romkin ©   (2004-09-14 11:29) [3]

Есть в СОМ договоренность - изменения интерфейсов, которые опубликованы, не допускаются. Делается расширенный второй интерфейс. Пример: IClassFactory & IClassFactory2 :)
Старые клиенты работают со старой версией, новые - с новой. При этом кокласс просто реализует оба интерфейса
Причем даже есть механизм, который подменяет ClassID, чтобы старые клиенты, заказывая старый класс, работали с новым коклассом, и не догадывались об этом :)


 
Romkin ©   (2004-09-14 11:32) [4]

Версию же библиотеки типов и интерфейсов в ней достать легко, см ITypeLib и IDispatch.GetTypeInfo


 
k_il ©   (2004-09-14 20:33) [5]

Большое спасибо... создал расширенный интерфейс.



Страницы: 1 вся ветка

Текущий архив: 2005.07.11;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.031 c
5-1086668430
Gelios
2004-06-08 08:20
2005.07.11
Редактор свойств/компонент а-ла Fields Editor


14-1118605421
Просто Джо
2005-06-12 23:43
2005.07.11
Обработка file upload в PHP


3-1117637236
Тестер
2005-06-01 18:47
2005.07.11
FB 1.5 и 2.0 на одной машине


3-1116509534
Alexander Panov
2005-05-19 17:32
2005.07.11
Структура хранения данных для клинета форумов.


14-1118309641
boriskb
2005-06-09 13:34
2005.07.11
Ностальгия :)