Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.029 c
6-1112960035
}|{yk
2005-04-08 15:33
2005.07.11
Проблема с устновкой Indy 10


1-1119346635
Гость233
2005-06-21 13:37
2005.07.11
Отловить появляение вертикальной полосы прокрутки в TListView


14-1118480066
Cheater
2005-06-11 12:54
2005.07.11
Программирование в Excele. Как скрыть строки?


1-1118397912
Dysan
2005-06-10 14:05
2005.07.11
помогите понять в чем причина возникновения ошибки!


3-1117603888
_Max
2005-06-01 09:31
2005.07.11
Слияние полей в MDB




   Наверх