Сначала написал я тестовые сервер exe (VC) и клиент(VB) с использованием ATL. Проверил — нормально. Клиент запускает сервер, связь по "соединяемые объекты" работает.
Потом написал уже и нормальные сервер и клиент. Но вот имена (MesonServer) дал одинаковые. И не заработало. Посмотрел реестр и убрал все с именем MesonServer вручную. Заново записал.
Теперь вот так. Клиент сам не запускает сервер. Приходится из-под VC запускать сервер, и тогда клиент соединяется с ним. Также не работает "соединяемые объекты". Kernel.dll дает ошибку что-то first exception.
Подскажите что-нибудь дельное, а то систему переустанавливать не хочется.
Здравствуйте Лию А.В., Вы писали:
ЛА>Сначала написал я тестовые сервер exe (VC) и клиент(VB) с использованием ATL. Проверил — нормально. Клиент запускает сервер, связь по "соединяемые объекты" работает. ЛА>Потом написал уже и нормальные сервер и клиент. Но вот имена (MesonServer) дал одинаковые. И не заработало. Посмотрел реестр и убрал все с именем MesonServer вручную. Заново записал. ЛА>Теперь вот так. Клиент сам не запускает сервер. Приходится из-под VC запускать сервер, и тогда клиент соединяется с ним. Также не работает "соединяемые объекты". Kernel.dll дает ошибку что-то first exception. ЛА>Подскажите что-нибудь дельное, а то систему переустанавливать не хочется.
Я после работы с тестовыми серверами всегда стараюсь удалить их из Реестра легально:
— XXX.EXE через XXX.EXE -UnregServer
— XXX.DLL через RegSvr32 -u XXX.DLL
Они прекрасно удаляются. Советую впредь делать так, а не вручную.
А нормальные сервер и клиент — это какие? С теми же GUID-ами во всем или нет? И платформы (ATL и VB) тоже те же?
Здравствуйте Vi2, Вы писали:
Vi2>Я после работы с тестовыми серверами всегда стараюсь удалить их из Реестра легально: Vi2>- XXX.EXE через XXX.EXE -UnregServer Vi2>- XXX.DLL через RegSvr32 -u XXX.DLL Vi2>Они прекрасно удаляются. Советую впредь делать так, а не вручную.
Vi2>А нормальные сервер и клиент — это какие? С теми же GUID-ами во всем или нет? И платформы (ATL и VB) тоже те же?
Нормальные — это уже не тестовые, а рабочие. Имена те же, а GUID разные. Платформы те же.
Я тоже так делал "-UnregServer". А тут поспешил.
Я же просил совета как выкрутится, а то сейчас начну один Псюк переинсталлировать — дай бог сегодня закончить.
Здравствуйте Лию А.В., Вы писали:
Vi2>>А нормальные сервер и клиент — это какие? С теми же GUID-ами во всем или нет? И платформы (ATL и VB) тоже те же?
ЛА>Нормальные — это уже не тестовые, а рабочие. Имена те же, а GUID разные. Платформы те же. ЛА>Я тоже так делал "-UnregServer". А тут поспешил. ЛА>Я же просил совета как выкрутится, а то сейчас начну один Псюк переинсталлировать — дай бог сегодня закончить.
Как правило, если ты делал "новый" проект, то ничего не должно было помешать — ATL всё прекрасно регистрирует и поверх. Даже с одинаковыми именами. (Просто остаются неиспользуемые куски в реестре без де-регистрации СОМ объектов)
Наверное, ты делал изменения "поверх" проекта. Посмотри файлы .RGS в проекте. Они независимы от IDL и могут внести путаницу — СОМ регистрирует не те разделы в Реестре, которые должен был бы использовать, а те, которые прописаны в RGS файле.