Имя: Пароль:
1C
1С v8
Недопустимая строка с указанием класса
,
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
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
В общем чистка реестра помогла) Спасибо большое, всем добра!
Я не хочу быть самым богатым человеком на кладбище. Засыпать с чувством, что за день я сделал какую-нибудь потрясающую вещь — вот что меня интересует. Стив Джобс