|
Недопустимая строка с указанием класса | ☑ | ||
---|---|---|---|---|
0
yurii-syrkin
28.02.18
✎
13:06
|
Добрый день. Понимаю, что тема заезженная, но всё, что есть в сети мне не помогло. Итак, сервер Windows server 2012, 1С 8.3.10.2580 сервер 64 разрядный, клиент 32 разрядный. Пробовал регистрировать comctrl.dll в реестре через regsvr32. Пробовал всё описанное в статье https://efsaver.ru/docs/reshenie-problemy-nedopustimaya-stroka-s-ukazaniem-klassa.html. Ничего не помагает. На строке с кодом
ТекCOMПодключение = Новый COMОбъект("V83.COMConnector"); вылетает ошибка: Ошибка при вызове конструктора (COMОбъект): -2147221005(0x800401F3): Недопустимая строка с указанием класса. Пробовал и так: ТекCOMПодключение = Новый COMОбъект("V83.COMConnector"); не помогло |
|||
1
Fragster
гуру
28.02.18
✎
13:10
|
если клиент 32битный и код выполняется на клиенте, то должна быть 32битная компонента, если код выполняется на сервере и сервер 64битный, то на нем должна быть 64 битная компонента.
|
|||
2
yurii-syrkin
28.02.18
✎
13:19
|
А где устанавливается разрядность компоненты?
|
|||
3
VitShvets
28.02.18
✎
13:30
|
(2) В дистрибутиве. Обычная платформа, это х32. Платформа х64(не проверял) или дистрибутив сервера х64 содержит компоненту х64. Выбираешь дистрибутив и при выборе компонент устанавливаешь только "COM-соединение".
|
|||
4
yurii-syrkin
28.02.18
✎
13:57
|
Если я правильно понял, надо в списке программ найти 1С Предприятие 8 (86-64) (т.е. сервер 64 разрядный), нажать на кнопку изменить и доставить компонент COM-Соединение, так? Если да, то в списке компонент нет ничего похожего. Только 1С предприятие, 1С Предприятие - тонкий клиент, и т.д.
|
|||
5
VitShvets
28.02.18
✎
14:40
|
(4) Если сервер х64 стоит на компе где предполагается поднятие СОМ соединения (клиент), то да. Если машина только клиентская, надо запустить установку сервера х64 при выборе компонент устанавливаешь только "COM-соединение". Компонент должен стоять на том компе, где предполагается создание ком объекта.
|
|||
6
Малыш Джон
28.02.18
✎
14:43
|
(4) имя файла компонента - comcntr.dll
зарегистрируй его в системе |
|||
7
yurii-syrkin
28.02.18
✎
16:35
|
Проблема в том что и 32 разрядная клиентская часть и 64 разрядная серверная часть находятся на одном сервере. Пользователи через терминал так же на этом сервере. В списке компонент установки для 64 разрядного дистрибутива не нашел отдельно строки СОМ соединение. Попробовал сделать так: на другом сервере развернул 64 разрядную платформу, взял библиотеку comctrl.dll, перенес её на рабочий сервер, зарегистрировал как 64 разрядную, добавил компоненту как было описано в статье выше и всё равно та же ошибка
|
|||
8
yurii-syrkin
28.02.18
✎
16:38
|
Кстати, ещё хотел спросить. Когда добавляю компоненту в приложение в ней написано Имя: V83.COMConnector.1. Значит ли это что в 1С к ней надо обращаться как Новый СОМОбъект("V83.COMConnector.1"), а не как Новый СОМОбъект("V83.COMConnector")
|
|||
9
cons74
28.02.18
✎
16:52
|
(8) нет
|
|||
10
cons74
28.02.18
✎
16:56
|
Ответь сам себе. Какова конечная цель? Какую именно dll запускаешь? Именно comcntrl или другую какую-то бибилиотеку,а comcntrl - для теста? Где именно выполняешь код (НаКлиенте=х32/НаСервере=х64)?
|
|||
11
yurii-syrkin
28.02.18
✎
17:02
|
(10) 1. Цель организовать выгрузку через СОМ из одной базы в другую;
2. Использую библиотеку comcntrl.dll. Честно говоря я и не знал, что это не единственный вариант); 3. Код выполняю в модуле объекта внешней обработки, которая запускается в управляемом режиме (полагаю это на сервере); |
|||
12
cons74
28.02.18
✎
17:20
|
Перепроверь выполненные пункты по Книга знаний: Вызов 32-битных COM-объектов на стороне 64-битного сервера 1С
|
|||
13
yurii-syrkin
28.02.18
✎
17:29
|
Да, всё так. Только у меня почему то ProgID="V83.COMConnector.1" Изменить не могу
|
|||
14
cons74
28.02.18
✎
17:34
|
"V83.COMConnector.1" - значит уже ранее стоял просто "V83.COMConnector". Или пытался воткнуть второй рядом.
В общем, переустанавливай систему ;-) Т.е. попробуй снести V83.COMConnector, почистить реестр, и повторить. |
|||
15
yurii-syrkin
28.02.18
✎
17:37
|
Спасибо, попробую)
|
|||
16
yurii-syrkin
28.02.18
✎
17:59
|
В общем чистка реестра помогла) Спасибо большое, всем добра!
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |