Главная страница
    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.45 MB
Время: 0.029 c
8-1110701414
Tirex
2005-03-13 11:10
2005.07.11
Наложение текстуры


1-1118775803
Mishel01
2005-06-14 23:03
2005.07.11
Как сравнить две дирректории ?


1-1118728171
stin10
2005-06-14 09:49
2005.07.11
ограничение памяти


1-1118817893
sachem
2005-06-15 10:44
2005.07.11
Как узнать функции и их параметры чужой dll-ки


8-1110382443
CJ Astral
2005-03-09 18:34
2005.07.11
Delphi и потоковое аудио





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский