|
Проблема работы с COM объектом:-2147221164(0x80040154): Класс не зарегистрирован | ☑ | ||
---|---|---|---|---|
0
DGorgoN
10.12.15
✎
11:15
|
Для подключения 1с к весам поставщик дал свой ком компонент, зарегестрировал его как указанно в инструкции, ком объект не зарегестрировался толком, прописал вручную, но всё равно работать не хочет: http://firepic.org/?v=2.2015-12-10_jmqft48ui1ze.jpg
Код в 1с: МойОбъект = Новый COMОбъект("COMPtrLib.COMReceiver"); Вес = МойОбъект.GetWeight("COM1"); Сообщить(Вес); Выдает сразу: {Форма.Форма.Форма(5)}: Ошибка при вызове конструктора (COMОбъект) МойОбъект = Новый COMОбъект("COMPtrLib.COMReceiver"); по причине: -2147221164(0x80040154): Класс не зарегистрирован |
|||
1
vde69
10.12.15
✎
11:17
|
ну ты или давай конкретику (какая винда, какой драйвер) или иди на сайт техподдержки оборудованияч
|
|||
2
su_mai
10.12.15
✎
11:17
|
||||
3
DGorgoN
10.12.15
✎
11:17
|
(1) Думаю не привязанно это к винде. Винда серверная 2012*64
|
|||
4
DGorgoN
10.12.15
✎
11:21
|
regasm и gacutil делал. Прошло все без ошибок:
C:\Program Files\Microsoft SDKs\Windows\v7.1\Bin> .\gacutil.exe /i "C:\Lib\COMPtrLib.dll" PS C:\Program Files\Microsoft SDKs\Windows\v7.1\Bin> cd "C:\Windows\WinSxS\amd64_regasm_b03f5f7f11d50a3a6.3.9600.16384 none_ea742672c514173d" PS C:\Windows\WinSxS\amd64_regasm_b03f5f7f11d50a3a_6.3.9600.16384_none_ea742672c514173d> .\regasm /codebase /tlb "C:\Lib \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:\Lib\COMPtrLib.tlb', and the type library was registered successfully PS C:\Windows\WinSxS\amd64_regasm_b03f5f7f11d50a3a_6.3.9600.16384_none_ea742672c514173d> |
|||
5
Барматолог
10.12.15
✎
11:23
|
(3) регал то как?
|
|||
6
DGorgoN
10.12.15
✎
11:26
|
(5) Сначала командами
gacutil.exe /i "C:\Lib\COMPtrLib.dll" regasm /codebase /tlb "C:\Lib\COMPtrLib.dll" |
|||
7
DGorgoN
10.12.15
✎
11:26
|
Потом уже ручками в ветках по скрину выше
|
|||
8
DGorgoN
10.12.15
✎
11:26
|
||||
9
vde69
10.12.15
✎
11:27
|
(3) это на 100% не относится к 1с, скорее всего компонента 32х а винда 64х
|
|||
10
vde69
10.12.15
✎
11:28
|
у 1с есть доступ к каталогу "C:\Lib\COMPtrLib.dll" ???
по дефолту на сервере его не будет... |
|||
11
DGorgoN
10.12.15
✎
11:31
|
(10) 8.2 как бы
|
|||
12
DGorgoN
10.12.15
✎
11:31
|
формы обычные
|
|||
13
Барматолог
10.12.15
✎
11:31
|
(9) +0.5
(6) регай в Службе компонентов dcomcnfg |
|||
14
DGorgoN
10.12.15
✎
11:32
|
(9) ммм, а разница? и как побороть?
|
|||
15
DGorgoN
10.12.15
✎
11:33
|
(13) Так вот я уже сам зарегил, см http://firepic.org/?v=2.2015-12-10_jmqft48ui1ze.jpg
|
|||
16
Барматолог
10.12.15
✎
11:33
|
сорри, не видел скрина (8)
|
|||
17
DGorgoN
10.12.15
✎
11:33
|
Может имя как то неправильно или шаг какой то неправильно сделал
|
|||
18
Барматолог
10.12.15
✎
11:33
|
(17) пользователь, вобщем, безопасность глянь еще
|
|||
19
vde69
10.12.15
✎
11:36
|
(14)32х компонента не будет работать в 64х ОС, по крайне мере я не знаю способа кроме виртуальной 32х машины и подключение через DCOM+
|
|||
20
DGorgoN
10.12.15
✎
11:36
|
(18) Прошу проконтролировать, а имя я правильно пишу? МойОбъект = Новый COMОбъект("COMPtrLib.COMReceiver");
|
|||
21
Барматолог
10.12.15
✎
11:37
|
(20) правильно
|
|||
22
Барматолог
10.12.15
✎
11:38
|
(19) пруфы?
|
|||
23
DGorgoN
10.12.15
✎
11:39
|
(19) Она вроде с помощью нета написана, серьезно работать не будет?
|
|||
24
vde69
10.12.15
✎
11:41
|
(22) пруфы на что? на несовместимость моделей адресации 32х и 64х ??? так это и ежу понятно, что короткий указатель не будет работать в адресном пространстве заточенном под длинные указатели.
|
|||
25
Барматолог
10.12.15
✎
11:42
|
(24) но пишет же на то, что класс не зарегистрирован.
На несовместимость должен же писать другое. |
|||
26
Барматолог
10.12.15
✎
11:45
|
+(24) а как тогда работает COM для 1С 32 на 64 винде?
|
|||
27
vde69
10.12.15
✎
11:45
|
(25)>>>> зарегестрировал его как указанно в инструкции, ком объект не зарегестрировался толком
так может ты приведешь описание ошибки при штатной регистрации ??? |
|||
28
vde69
10.12.15
✎
11:46
|
(26) на 64х винде все библиотеки кома пересобраны на 64х
|
|||
29
DGorgoN
10.12.15
✎
11:48
|
(27) Никаких ошибок не было. Написал что все ок, а в dcomcnfg не появился
|
|||
30
ЧеловекДуши
10.12.15
✎
11:48
|
(26) Через одно место "ЖПУ". Большинство попросту не работает. Так что чудес не бывает :)
|
|||
31
DGorgoN
10.12.15
✎
11:48
|
PS C:\Program Files\Microsoft SDKs\Windows\v7.1\Bin> .\gacutil.exe /i "C:\Lib\COMPtrLib.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
DGorgoN
10.12.15
✎
11:49
|
PS C:\Program Files\Microsoft SDKs\Windows\v7.1\Bin> cd "C:\Windows\WinSxS\amd64_regasm_b03f5f7f11d50a3a_6.3.9600.16384
none_ea742672c514173d" PS C:\Windows\WinSxS\amd64_regasm_b03f5f7f11d50a3a_6.3.9600.16384_none_ea742672c514173d> .\regasm /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:\Lib\COMPtrLib.tlb', and the type library was registered successfully |
|||
33
ЧеловекДуши
10.12.15
✎
11:49
|
+(26) Не путай Клиентскую часть с Сервером 1С.
Клиент 1С, запускается под х32, т.к. у 1С нет приложения на х64. А вот сервер есть на х64 :) |
|||
34
vde69
10.12.15
✎
11:50
|
ну не знаю...
|
|||
35
Барматолог
10.12.15
✎
11:50
|
(28) не совсем понял
Установили 1С 32 битную на 64 битную винду. 1) Регаем comcntr.dll 2) Через службы компонентов (dcomcnfg) создаем компонеент |
|||
36
DGorgoN
10.12.15
✎
11:52
|
(35) Ну я фактически через dcomcnfg и зарегал
|
|||
37
Барматолог
10.12.15
✎
11:53
|
(36) с каким пользователем?
|
|||
38
DGorgoN
10.12.15
✎
11:55
|
опа, теперь помутил, другое писать начал:
{Форма.Форма.Форма(5)}: Ошибка при вызове конструктора (COMОбъект) МойОбъект = Новый COMОбъект("COMPtrLib.COMReceiver"); по причине: -2147221005(0x800401F3): Недопустимая строка с указанием класса |
|||
39
ЧеловекДуши
10.12.15
✎
11:55
|
(35) Регаем на сервер 1С. На клиентской стороне твой ком-ок будет работать и без танцев бубном :)
|
|||
40
ЧеловекДуши
10.12.15
✎
11:56
|
(38) Ты надеюсь это шаманство делаешь на Виртуальке, типо Виртуале Боксе, тестовой? :)
|
|||
41
DGorgoN
10.12.15
✎
11:57
|
(40) Неа, только хардкор )
|
|||
42
Барматолог
10.12.15
✎
11:58
|
(39) я спрашивал совершенно иное.
|
|||
43
DGorgoN
10.12.15
✎
11:59
|
Опа, заработало
|
|||
44
DGorgoN
10.12.15
✎
12:00
|
Какими то шаманскими действиями, сам не понял как. Удалил, заново пересобрал, заработало. Удивительно!
|
|||
45
Барматолог
10.12.15
✎
12:00
|
vde69 пишет
>> (14) 32х компонента не будет работать в 64х ОС, по крайне мере я не знаю способа кроме виртуальной 32х машины и подключение через DCOM+ Я в (35), как тупой адинэсник, привожу пример работы 32 битной компоненты под 64 битным сервером |
|||
46
DGorgoN
10.12.15
✎
12:02
|
(45) Всё, как то само заработало. Причем в службе компонентов этот элемент не отобразился. Но работает. Как? не знаю. Но работает. Удивительно. Накачу сегодня за здоровье БиллаГейтса и СтиваБалмера
|
|||
47
Барматолог
10.12.15
✎
12:07
|
(46) т.е. ты просто зарегал через resvr?
|
|||
48
Барматолог
10.12.15
✎
12:08
|
* regsvr
|
|||
49
Барматолог
10.12.15
✎
12:18
|
все, пошел накатывать?
|
|||
50
DGorgoN
10.12.15
✎
12:32
|
(47) Пытался до этого но не канало. Сейчас просто ещё 1 раз выполнил все команды и заработало
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |