|
COM соединения с базами 1С на различных версиях платформы "Без перерегистрации и СМС" | ☑ | ||
---|---|---|---|---|
0
Mikhail Volkov
10.07.19
✎
11:12
|
Ссылка на статью: http://catalog.mista.ru/public/610960/ - не получается пункт: 6. Выбираем вариант "Установка новых компонентов", находим нашу библиотеку comcntr.dll. При этом у меня выскакивает ошибка: "Этот объект уже зарегистрирован"!? Ничего не создает.
Подскажите, что ни так делаю? Нет опыта в создании компонентов... |
|||
1
Mikhail Volkov
10.07.19
✎
11:24
|
||||
2
butterbean
10.07.19
✎
11:24
|
что непонятно во фразе "Этот объект уже зарегистрирован"??
|
|||
3
Cyberhawk
10.07.19
✎
11:27
|
Как тебя _земля_ ИТ носит - непонятно )
|
|||
4
Mikhail Volkov
10.07.19
✎
11:30
|
(2) Непонятно что делать в такой ситуации? Не создавать компонент с этой версией comcntr.dll, искать его среди имеющихся?
|
|||
5
butterbean
10.07.19
✎
11:31
|
(4) да
|
|||
6
Cyberhawk
10.07.19
✎
11:31
|
На худой конец начни с чистого листа
|
|||
7
Mikhail Volkov
10.07.19
✎
12:15
|
(5) В приложениях V8COMConnector нашел компонент V83.COMConnector.1 с C:\Program Files\1cv8\8.3.10.2466\bin\comcntr.dll (версия, из которой осуществляется Com-соединение), а для 8.3.14.1779 (версия, с которой осуществляется Com-соединение) не нашел. Плохо искал?
https://jpegshare.net/b0/74/b074f3798d4b4cb00f20322d84e60f45.jpg.html |
|||
8
Mikhail Volkov
10.07.19
✎
12:24
|
(4)+ А может в таком случае не "Установка новых компонентов", а "Импорт уже зарегистрированных компонентов"?
|
|||
9
DrZombi
гуру
10.07.19
✎
12:34
|
(7) Вы пробовали регистрировать библиотечку по новой? :)
https://support.microsoft.com/ru-ru/help/249873/how-to-use-the-regsvr32-tool-and-troubleshoot-regsvr32-error-messages И обратите внимание на № 2 Способ 2. Использование 32-разрядной версии Regsvr32 для регистрации 32-разрядной библиотеки DLL в 64-разрядной версии ОС Windows |
|||
10
NorthWind
10.07.19
✎
13:07
|
(0) ну так разрегистрируйте. Regsvr32 с ключиком /u, если мне не изменяет память.
|
|||
11
Mikhail Volkov
10.07.19
✎
13:18
|
(8)+ Среди "Выбор компонентов для импорта" нашел только V82.COMConnector.1 с C:\Program Files\1cv82\8.2.19.130\bin\comcntr.dll!? По-моему ошибку: "Этот объект уже зарегистрирован" выбрасывает, если зарегистрирована comcntr.dll любой версии?
(9) Ну, как обычно: Пуск - Все программы -... - Регистрация утилиты администрирования серверов x86-64 (8.3.14.1779), когда 2-ю платформу 8.3.14.1779 добавил для КА2.4. Остальные, например, Альфа-Авто (не может работать с платформой выше 8.3.10) остались на 8.3.10.2466. Нужен Com-обмен Альфа-Авто с КА2.4. (10) Всех версий платформ? |
|||
12
Mikhail Volkov
10.07.19
✎
14:08
|
(10) Только Regsvr32 /u "C:\Program Files\1cv8\8.3.10.2466\bin\comcntr.dll" выполнился успешно, для 1cv82\8.2.19.130 и 1cv8\8.3.14.1779 с ошибками. Теперь при добавлении библиотеки comcntr.dll нужной версии пишет "Файл не существует"!?
|
|||
13
Mikhail Volkov
10.07.19
✎
14:43
|
(12) Нет, ну как "Файл не существует", если файлы comcntr.dll существуют (разных версий)? Может что-то перезагрузить надо?
|
|||
14
Garykom
гуру
10.07.19
✎
15:01
|
(13) Надо немного изучить теории, тогда не будет смешных вопросов
|
|||
15
Mikhail Volkov
10.07.19
✎
15:21
|
(14) По какому вопросу изучить?
|
|||
16
Cyberhawk
10.07.19
✎
15:23
|
(15) СОМ, СОМ+, ДСОМ в Виндовз
|
|||
17
Cyberhawk
10.07.19
✎
15:23
|
Ну и длл и исполнение кода процессами ОС
|
|||
18
Mikhail Volkov
10.07.19
✎
15:40
|
(13)+ О, закрыл-открыл консоль Службы компонентов и другая ошибка https://jpegshare.net/70/3a/703a28e60ca4931e43af4bd1fe955fe2.jpg.html. Какую службу надо перезагрузить не прерывая работу 1С? Не весь же сервер...
|
|||
19
Mikhail Volkov
10.07.19
✎
18:40
|
Теперь закрыл-открыл консоль Службы компонентов и снова ошибка: "Этот объект уже зарегистрирован"!? Только сервер перезагружать?
|
|||
20
Mikhail Volkov
11.07.19
✎
10:33
|
Сервер перезагрузил.
Выбираем вариант "Установка новых компонентов", находим нашу библиотеку comcntr.dll. При этом выскакивает та же ошибка: "Этот объект уже зарегистрирован"!? Ничего не создает. Выбираем вариант "Импорт уже зарегистрированных компонентов", ничего с DLL comcntr.dll (любой версии) не нашел. Более того, при открытии компонента V83.COMConnector.1 выдается ошибка: https://jpegshare.net/7c/a1/7ca159216f33c45382208a39762f3788.jpg.html Видать сработала разрегистрация (10). Значит регистрировать библиотечку по новой, и использовать именно этот компонент V83.COMConnector.1, не создавать новый? |
|||
21
Mikhail Volkov
11.07.19
✎
11:39
|
Так и сделал: https://jpegshare.net/ad/63/ad63e99e7d0ba964a80291ae7cc725c7.jpg.html
Правильно ли? |
|||
22
Mikhail Volkov
11.07.19
✎
18:57
|
Сейчас вместо:
Соединитель = Новый ComОбъект("V83.Application"); придется писать: Соединитель = Новый ComОбъект("V83.COMConnector_" + НомерВерсии); НомерВерсии: "8.3.10.2466" или "8.3.14.1779" заранее (до подключения) нельзя узнать к чему (на какой платформе) подключаешься? Вроде раньше, когда занимался этой проблемой Com-обмен между базами различных доменов, в случае неудачной попытки соединения в ОписаниеОшибки() писало какую версию надо использовать. |
|||
23
Mikhail Volkov
11.07.19
✎
20:08
|
В СтрокаПодключения указывается ИмяСервера, к нему номер порта нужно дописывать?
|
|||
24
NorthWind
11.07.19
✎
22:13
|
(11) я не решал конкретно эту задачу. Но вообще COM-объект можно как зарегистрировать, так и разрегистрировать, что, как мне показалось, может позволить избежать вашего сообщения.
|
|||
25
Mikhail Volkov
12.07.19
✎
08:24
|
(24) Ошибку "Этот объект уже зарегистрирован" надо понимать как существование компонента V83.COMConnector.1, содержащий ссылку на DLL comcntr.dll (любой версии). После того как разрегистрировал (12) появилась ошибка компонента V83.COMConnector.1 "Объект не найден в реестре" (20), но ошибка "Этот объект уже зарегистрирован" осталась.
|
|||
26
stix2010
12.07.19
✎
09:24
|
(0) неужели еще кто то Com коннектором пользуется
|
|||
27
Mikhail Volkov
12.07.19
✎
14:52
|
(26) Да, много лет...
|
|||
28
Mikhail Volkov
13.07.19
✎
15:56
|
(23) Да, дописывать надо порт. Иначе ошибку пишет несовпадения версий клиента и сервера.
Но почему ошибку пишет: Метод объекта не обнаружен (СтрокаСоединенияИнформационнойБазы)? |
|||
29
zak555
13.07.19
✎
16:39
|
Сначала разрегистрировать ( -u ), а потом зарегать вновь
|
|||
30
Mikhail Volkov
13.07.19
✎
17:09
|
(29) Не помогает (12), но разобрался (25).
Меня сейчас больше интересует почему ошибку пишет: Метод объекта не обнаружен (СтрокаСоединенияИнформационнойБазы) на Соединитель.СтрокаСоединенияИнформационнойБазы()? Сдается мне, что Соединитель = Новый ComОбъект("V83.COMConnector_" + НомерВерсии); не эквивалентен Соединитель = Новый ComОбъект("V83.Application"); а только Соединитель = Новый ComОбъект("V83.COMConnector"); с ограниченными возможностями? |
|||
31
Mikhail Volkov
14.07.19
✎
08:15
|
+ Да, V83.COMConnector с ограниченными возможностями меня не устраивает: https://docplayer.ru/64409617-Obmen-dannymi-mezhdu-bazami-1s-cherez-com-soedinenie.html
Можно создать два вида COM объектов для приложения 1С. Это OLE соединения V83.Application и COM соединения V83.COMConnector. В случае с V83.Application запускается практически полноценный экземпляр приложения 1С. В случае использования V83.COMConnector запускается небольшая серверная часть. Скорость работы в этом случае выше, но некоторые функции могут быть недоступны. В частности работа с формами и с общими модулями для которых не установлено свойство работы с внешними соединениями. Преимущественно надо использовать V83.COMConnector и только в случае нехватки функционала V83.Application. Как создать OLE соединения с базами 1С на различных версиях платформы? |
|||
32
Mikhail Volkov
15.07.19
✎
17:37
|
Не работал с консолью Службы компонентов. Возможно ли в ней создать обертку OLE соединения V83.Application, или перенастроить имеющуюся COM соединения V83.COMConnector?
|
|||
33
Mikhail Volkov
16.07.19
✎
10:07
|
Может Админы помогут? Службы компонентов: возможно ли создать обертку OLE соединения V83.Application
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |