COM
От: Долгов Сергей Сергеевич Украина  
Дата: 13.12.01 08:28
Оценка:
Написал in-process сервер на ATL. В клиенте на VC++ симпортировал ее, подключил, работает как часы. Потом интерфейс сервера оставил без изменения, а тело функий несколько подредактировал. И оба-на, клиент начал ругаться на CreateInstance, не может создать экземпляр сервера!!! Пришлось клиента перекомпилировать. В чем же здесь дело??? Мне что каждый раз прийдется пересобирать клиента при изменении реализации экспортируемых функций сервера?
Заранее благодарен за ответы.
Re: COM
От: Ростислав Глухов Россия http://www.geocities.com/rg2204/
Дата: 13.12.01 09:43
Оценка:
Здравствуйте Долгов Сергей Сергеевич, Вы писали:

ДСС>Написал in-process сервер на ATL. В клиенте на VC++ симпортировал ее, подключил, работает как часы. Потом интерфейс сервера оставил без изменения, а тело функий несколько подредактировал. И оба-на, клиент начал ругаться на CreateInstance, не может создать экземпляр сервера!!! Пришлось клиента перекомпилировать. В чем же здесь дело??? Мне что каждый раз прийдется пересобирать клиента при изменении реализации экспортируемых функций сервера?

ДСС> Заранее благодарен за ответы.

Что-то тут не так...
Обычно, перекомпиляция клиента не нужна, если даже расширяется(но не меняется) интерфейс сервера...
Может, использовались разные библиотеки CRT: Debug/Release?
- А Вы что курите?
— Минздрав предупреждает
Re[2]: COM
От: VladD2 Российская Империя www.nemerle.org
Дата: 13.12.01 22:01
Оценка:
Здравствуйте Ростислав Глухов, Вы писали:

РГ>Здравствуйте Долгов Сергей Сергеевич, Вы писали:


ДСС>>Написал in-process сервер на ATL. В клиенте на VC++ симпортировал ее, подключил, работает как часы. Потом интерфейс сервера оставил без изменения, а тело функий несколько подредактировал. И оба-на, клиент начал ругаться на CreateInstance, не может создать экземпляр сервера!!! Пришлось клиента перекомпилировать. В чем же здесь дело??? Мне что каждый раз прийдется пересобирать клиента при изменении реализации экспортируемых функций сервера?

ДСС>> Заранее благодарен за ответы.

РГ>Что-то тут не так...

РГ>Обычно, перекомпиляция клиента не нужна, если даже расширяется(но не меняется) интерфейс сервера...
РГ>Может, использовались разные библиотеки CRT: Debug/Release?

При грамотном программировании даже Debug/Release не могут помушать.

Видимо дело в коде.

2ДСС: Приведи описание своего интерфейса.


Я обычно просто включаю во второй проект автогенеренный хеадер COM-библиотеки и компилятор (make или IDE) сам занимается попросами перекомпиляции.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.