Главная страница
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.045 c
14-1118144204
Xmen
2005-06-07 15:36
2005.07.11
Программа в СистемТрей


3-1117080036
Ярослав
2005-05-26 08:00
2005.07.11
Не правильно работает ХП в MS SQL


14-1118258843
Ломброзо
2005-06-08 23:27
2005.07.11
Нумерация в MS Word


1-1119339737
pavel_guzhanov
2005-06-21 11:42
2005.07.11
Как преобразовать дату?


4-1115814772
Неуловимый Джо
2005-05-11 16:32
2005.07.11
API к perfmon