![]() |
|
![]() ![]() ![]() |
|
Ellmi |
|
||||
![]() Новичок Профиль Группа: Участник Сообщений: 8 Регистрация: 1.12.2008 Репутация: нет Всего: нет |
Здраствуйте!
Создаю сервер автоматизации и контроллер автоматизации компилится без ошибок, запускаю клиент вылетает сообщение "class EOleSysError with message 'недопустимая строка с указанием класса'". Голову уже поломала над ней ![]() Сервер (реализация методов)
Клиент
|
||||
|
|||||
xvr |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 7046 Регистрация: 28.8.2007 Где: Дублин, Ирландия Репутация: 8 Всего: 223 |
Ваш Project1.Calculator в системе зарегистрирован? В dcomcnfg его видно? (dcomcnfg -> Console Root -> Component Services -> Computers -> My Computer-> DCOM Config)
Или в OLEView (из VS) |
|||
|
||||
Ellmi |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 8 Регистрация: 1.12.2008 Репутация: нет Всего: нет |
Не видно =( .. за то время, что с этим мучаюсь пару раз приложение срабатывало... вот видимо для них я нашла записи в dcomcnfg (в свойствах путь той папки в котрой было приложение), а Project1.Calculator нету.. а как его зарегистрирокать?.. после описания реализации методов кнопкой Register Type Library регистрировала.. пункт меню Run -> Register ActiveX Servtr не активен
в Borland Builder OLEView не нашла Весь алгоритм создания: 1. Создаю обычное приложение, которое будет сервером, сохраняю. 2. File->New->ActiveX->Automation Object->Ok 3. Добавляю методы, щелкаю Refresh Implementation, пишу реализацию этих методов 4. Компилю 5. Щелкаю Exsport to IDL 6. Все это сохраняю, закрываю 7. Открываю опять, щелкаю Register Type Library, закрываю 8. Создаю обычное приложение, которое будет клиентом, сохраняю. 9. Project -> Import Type Library, Add - нахожу нужную библиотеку -> Create Unit 10. подключаю #include <ComObj.hpp> 11. дописываю код, компилю, запускаю -> EOleSysError with message 'недопустимая строка с указанием класса' А ума запустить сервер после компиляции то не хватило! ![]() ![]() СПАСИБО! ![]() Это сообщение отредактировал(а) Ellmi - 13.12.2010, 16:22 |
|||
|
||||
Balog |
|
|||
Новичок Профиль Группа: Участник Сообщений: 3 Регистрация: 9.3.2008 Репутация: нет Всего: нет |
Не хочу заводить новую тему.
Проблема та же самая что описано выше за исключением того что запуск сервера не приводит к регистрации в DCOM Точнее на моем компьютере все выходит нормально, на пробных виртуальных компьютерах тоже все ок, а у заказчика почемуто запуск того же самого файла сервера не добавляет нужный класс в настройках DCOM Кто-нибудь сталкивался с таким? Перезагрузка не помогла. |
|||
|
||||
xvr |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 7046 Регистрация: 28.8.2007 Где: Дублин, Ирландия Репутация: 8 Всего: 223 |
||||
|
||||
Balog |
|
|||
Новичок Профиль Группа: Участник Сообщений: 3 Регистрация: 9.3.2008 Репутация: нет Всего: нет |
Я уже подумал об этом. У меня то все права административные а там не факт. Завтра проверю.
В любом случае отпишусь. |
|||
|
||||
Balog |
|
|||
Новичок Профиль Группа: Участник Сообщений: 3 Регистрация: 9.3.2008 Репутация: нет Всего: нет |
Да, дело было в недостающих правах пользователя.
Но есть еще вопрос: Есть компьютер-сервер на котором настроен DCOM и несколько компьютеров с программой-клиентом. С одного компьютера клиент связывается с серверной программой без проблем. А с другого через раз, и вообще иногда связь срабатывает а иногда нет, хотя в программе ничего не меняется. Выдает ошибку "Сервер RPC недоступен". Может имеет смысл ловить ошибку и как-то обрабатывать? Например повторно подключаться или еще что? Или может не настроено что-то? Что посоветуете? Это сообщение отредактировал(а) Balog - 6.10.2011, 00:43 |
|||
|
||||
xvr |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 7046 Регистрация: 28.8.2007 Где: Дублин, Ирландия Репутация: 8 Всего: 223 |
Покопайтесь в настройках firewall'а. Он (начиная с XP) с настройками по умолчанию не позволяет делать сервера на клиентских машинах ![]() ![]() |
|||
|
||||
![]() ![]() ![]() |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: COM/DCOM/ActiveX/ATL/CORBA | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |