Имя: Пароль:
1C
1С v8
Есть особенности реализации Com в 1С?
,
0 Leksus
 
03.06.13
18:25
Есть сторонняя dll и библиотека типов (.tlb). Зарегистрировал их при помощи команды regasm

Вот такой нормально код работает в макросе Excel:

Dim client As New SheeplaCOMWebAPIClient
Dim apiUrl As String

apiUrl = "http://test.test.net:8080/"
client.SetConnection apiUrl

в 1С строка
Объект = Новый ComОбъект("SheeplaCOMWebAPIClient");
возвращает ошибку
"Invalid class string"
1 Господин ПЖ
 
03.06.13
18:26
>Есть особенности реализации Com в 1С?

да.

на ИТС все есть
2 oleg_km
 
03.06.13
19:07
regasm - это если она написана на дот нете. Если без дот нета, нужно regsvr32
3 Leksus
 
03.06.13
19:13
regasm все регистрирует нормально. Excel ее видит и нормально с ней работает. В 1С пока не удалось :(
4 vde69
 
03.06.13
19:19
1с поддерживает 2 вида библиотек

1. нативе
2. ком с определенным ОБЯЗАТЕЛЬНЫМ интерфейсом
5 Leksus
 
03.06.13
19:34
(4) кроме ИТС это есть где-то в ЖКК?
6 vde69
 
03.06.13
19:35
7 Leksus
 
03.06.13
19:39
(6) Да у меня разработчик импортный :) Хотел ему ссылку на доку на 1c-dn.com кинуть
8 mikeA
 
03.06.13
21:00
9 oleg_km
 
03.06.13
21:31
(4) И какие спец. интерфейсы КОМ нужны 1С, которых в КОМ может не быть? Делал КОМ и в С++ и в шарпе: все было нормально
10 izekia
 
03.06.13
21:38
проблема скорее всего в реализации комобъекта, мб не все интерфейсы реализованы
11 oleg_km
 
03.06.13
22:00
Если regasm (3) То это дот нет. Если это дот нет, то там и особых настроек то нет, чтобы что-то забыть. ComVisible(true) не поставишь и ничего не будет
12 Лефмихалыч
 
03.06.13
22:11
(0) это скорее особенности реализации метода new в vba - у него в качестве аргумента может быть какая-то проивоестественная херня на палке и все равно все будет работать. Адинэсу же нужен именно progid или versionindependentprogid.

Надо вломиться в реестр, найти, где зарегана эта dll и посмотреть, что там в указанных значениях прописано. А можно каким-нить oleview.exe позырить, он кажись тоже это кажет
13 Лефмихалыч
 
03.06.13
22:14
(7) Турок штоле? Или таки уже немец?
14 izekia
 
03.06.13
22:45
(0) а да, как в (11) подсказали - это нет, соответственно может не хватать прав банально
Глупец, лишенный способности посмеяться над собой вместе с другими, не сможет долго выносить программирование. Фредерик Брукс-младший