Здравствуйте dragon23, Вы писали:
D>Никто не мешает задать тот же самый guid и для класса
Что значит тот же самый? Ты задаеш гуид исключительно для класа, т.е. ты задаешь исключительно CLSID. Гуид интерфейса при этом задать невозможно!
D>и тогда изменение ничего за собой не повлечет,
Первый же клиент пытающийся без перекомпиляции сделать QI будет послан к ... Причем тебе придется перерегистрировать приложение в COM+-е, переделывать прокси и перекомпилировать клиента. Как показывает практика если эти действия не автоматизированы, получается форменное шаманство с непредсказуемым результатом.
D>а чтобы интерфейс не менялся не стоит методы, свойства и т.п. делать public.
Это диктуется логикой работы приложения. Иногда без этог не обойтись. Более того интерфейс в процессе разработки принципиально изменяется. Обычно при этом всего лишь добавляются методы. И явное прописывание гуидов является самым просты способом избежать шаманства.
VD>>Ну ты попробуй. Создай клиента на .NET... зарегистрируй его на удаленном компьютере... перекомпилируй сервер... далее ты все поймешь, ты все увидишь сам.
D>Насчет .Net клиента не знаю не пробовал, ...
Не завешь, а говоришь. Мы не просто так извращались. Была реальная проблема... Даже обычная перекомпиляция приводила к неработоспособности клиента. Я не знаю точно кто тому виной, но так она решается.
... << RSDN@Home 1.0 alpha VladD2.1.0.alpha 12.1.0.1028.36665 >>