Проблема работы с COM объектом:-2147221164(0x80040154): Класс не зарегистрирован #760444


#0 by DGorgoN
Для подключения 1с к весам поставщик дал свой ком компонент, зарегестрировал его как указанно в инструкции, ком объект не зарегестрировался толком, прописал вручную, но всё равно работать не хочет: Код в 1с: Выдает сразу: {Форма.Форма.Форма}: Ошибка при вызове конструктора (COMОбъект)     МойОбъект = Новый COMОбъект("COMPtrLib.COMReceiver"); по причине: -2147221164(0x80040154): Класс не зарегистрирован
#1 by vde69
ну ты или давай конкретику (какая винда, какой драйвер) или иди на сайт техподдержки оборудованияч
#2 by su_mai
#3 by DGorgoN
Думаю не привязанно это к винде. Винда серверная 2012*64
#4 by DGorgoN
regasm и gacutil делал. Прошло все без ошибок: C:Program FilesMicrosoft SDKsWindowsv7.1Bin> .gacutil.exe /i "C:LibCOMPtrLib.dll" PS C:Program FilesMicrosoft SDKsWindowsv7.1Bin> cd "C:WindowsWinSxSamd64_regasm_b03f5f7f11d50a3a none_ea742672c514173d" COMPtrLib.dll" Microsoft (R) .NET Framework Assembly Registration Utility 2.0.50727.7905 Copyright (C) Microsoft Corporation 1998-2004.  All rights reserved. Types registered successfully Assembly exported to 'C:LibCOMPtrLib.tlb', and the type library was registered successfully PS C:WindowsWinSxSamd64_regasm_b03f5f7f11d50a3a_6.3.9600.16384_none_ea742672c514173d>
#5 by Барматолог
регал то как?
#6 by DGorgoN
Сначала командами
#7 by DGorgoN
Потом уже ручками в ветках по скрину выше
#8 by DGorgoN
#9 by vde69
это на 100% не относится к 1с, скорее всего компонента 32х а винда 64х
#10 by vde69
у 1с есть доступ к каталогу "C:LibCOMPtrLib.dll" ??? по дефолту на сервере его не будет...
#11 by DGorgoN
8.2 как бы
#12 by DGorgoN
формы обычные
#13 by Барматолог
+0.5 регай в Службе компонентов dcomcnfg
#14 by DGorgoN
ммм, а разница? и как побороть?
#15 by DGorgoN
Так вот я уже сам зарегил, см
#16 by Барматолог
сорри, не видел скрина
#17 by DGorgoN
Может имя как то неправильно или шаг какой то неправильно сделал
#18 by Барматолог
пользователь, вобщем, безопасность глянь еще
#19 by vde69
32х компонента не будет работать в 64х ОС, по крайне мере я не знаю способа кроме виртуальной 32х машины и подключение через DCOM+
#20 by DGorgoN
Прошу проконтролировать, а имя я правильно пишу? МойОбъект = Новый COMОбъект("COMPtrLib.COMReceiver");
#21 by Барматолог
правильно
#22 by Барматолог
пруфы?
#23 by DGorgoN
Она вроде с помощью нета написана, серьезно работать не будет?
#24 by vde69
пруфы на что? на несовместимость моделей адресации 32х и 64х ??? так это и ежу понятно, что короткий указатель не будет работать в адресном пространстве заточенном под длинные указатели.
#25 by Барматолог
но пишет же на то, что класс не зарегистрирован. На несовместимость должен же писать другое.
#26 by Барматолог
+ а как тогда работает COM для 1С 32 на 64 винде?
#27 by vde69
>>>> зарегестрировал его как указанно в инструкции, ком объект не зарегестрировался толком так может ты приведешь описание ошибки при штатной регистрации ???
#28 by vde69
на 64х винде все библиотеки кома пересобраны на 64х
#29 by DGorgoN
Никаких ошибок не было. Написал что все ок, а в dcomcnfg не появился
#30 by ЧеловекДуши
Через одно место "ЖПУ". Большинство попросту не работает. Так что чудес не бывает :)
#31 by DGorgoN
PS C:Program FilesMicrosoft SDKsWindowsv7.1Bin> .gacutil.exe /i "C:LibCOMPtrLib.dll" Microsoft (R) .NET Global Assembly Cache Utility.  Version 3.5.30729.1 Copyright (c) Microsoft Corporation.  All rights reserved. Assembly successfully added to the cache
#32 by DGorgoN
PS C:Program FilesMicrosoft SDKsWindowsv7.1Bin> cd "C:WindowsWinSxSamd64_regasm_b03f5f7f11d50a3a_6.3.9600.16384 none_ea742672c514173d" PS C:WindowsWinSxSamd64_regasm_b03f5f7f11d50a3a_6.3.9600.16384_none_ea742672c514173d> . egasm /codebase /tlb "C:Li COMPtrLib.dll" Microsoft (R) .NET Framework Assembly Registration Utility 2.0.50727.7905 Copyright (C) Microsoft Corporation 1998-2004.  All rights reserved. Types registered successfully Assembly exported to 'C:LibCOMPtrLib.tlb', and the type library was registered successfully
#33 by ЧеловекДуши
+ Не путай Клиентскую часть с Сервером 1С. Клиент 1С, запускается под х32, т.к. у 1С нет приложения на х64. А вот сервер есть на х64 :)
#34 by vde69
ну не знаю...
#35 by Барматолог
не совсем понял Установили 1С 32 битную на 64 битную винду. 1) Регаем comcntr.dll 2) Через службы компонентов (dcomcnfg) создаем компонеент
#36 by DGorgoN
Ну я фактически через dcomcnfg и зарегал
#37 by Барматолог
с каким пользователем?
#38 by DGorgoN
опа, теперь помутил, другое писать начал: {Форма.Форма.Форма}: Ошибка при вызове конструктора (COMОбъект)     МойОбъект = Новый COMОбъект("COMPtrLib.COMReceiver"); по причине: -2147221005(0x800401F3): Недопустимая строка с указанием класса
#39 by ЧеловекДуши
Регаем на сервер 1С. На клиентской стороне твой ком-ок будет работать и без танцев бубном :)
#40 by ЧеловекДуши
Ты надеюсь это шаманство делаешь на Виртуальке, типо Виртуале Боксе, тестовой? :)
#41 by DGorgoN
Неа, только хардкор )
#42 by Барматолог
я спрашивал совершенно иное.
#43 by DGorgoN
Опа, заработало
#44 by DGorgoN
Какими то шаманскими действиями, сам не понял как. Удалил, заново пересобрал, заработало. Удивительно!
#45 by Барматолог
>> 32х компонента не будет работать в 64х ОС, по крайне мере я не знаю способа кроме виртуальной 32х машины и подключение через DCOM+ Я в , как тупой адинэсник, привожу пример работы 32 битной компоненты под 64 битным сервером
#46 by DGorgoN
Всё, как то само заработало. Причем в службе компонентов этот элемент не отобразился. Но работает. Как? не знаю. Но работает. Удивительно. Накачу сегодня за здоровье БиллаГейтса и СтиваБалмера
#47 by Барматолог
т.е. ты просто зарегал через resvr?
#48 by Барматолог
* regsvr
#49 by Барматолог
все, пошел накатывать?
#50 by DGorgoN
Пытался до этого но не канало. Сейчас просто ещё 1 раз выполнил все команды и заработало
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С