|
Коллеги, что-то запарился я с подключением своей ВК к УФ | ☑ | ||
---|---|---|---|---|
0
Гений 1С
гуру
13.09.15
✎
04:25
|
Работает только вот такой метод:
Расположение = "m:\fixin\1s8MyTools\Anviz биометрия\+\Проект VB COM ANVIZUBIO\AddInAnvizUBIO.dll"; ЗагрузитьВнешнююКомпоненту(Расположение); AnvizUBIO_Компонента = Новый ("AddIn.AddInAnvizUBIO"); Но он не используется в Рознице 2.0 на УФ. Там используется НачатьПодключениеВнешнейКомпоненты. Если я вызываю этот метод для DLL-ки, то получаю в обработчике оповоещения, что компонента создана, но объект компоненты создать не могу, получаю ошибку - неизвестный тип "AddIn.AddInAnvizUBIO": ДополнительныеПараметры = Новый Структура(); ОписаниеОповещения = Новый ОписаниеОповещения("ПослеПодключенияВнешнейКомпоненты", ЭтаФорма,ДополнительныеПараметры); НачатьПодключениеВнешнейКомпоненты(ОписаниеОповещения, "m:\fixin\1s8MyTools\Anviz биометрия\+\Проект VB COM ANVIZUBIO\AddInAnvizUBIO.dll", "AddInAnvizUBIO"); Если же подсовываю ей не DLL-ку, а ZIP-файл, то Подключено = ложь, т.е. ZIP файл не подключает. Что не так с манифестом? <?xml version="1.0" encoding="UTF-8" ?> <bundle xmlns="http://v8.1c.ru/8.2/addin/bundle"> <component os="Windows" path="AddInAnvizUBIO.dll" type="native" arch="i386" /> <component os="Windows" path="AddInAnvizUBIO.dll" type="native" arch="x86_64" /> </bundle> Работаю в толстом клиенте, казалось бы, все должно пахать. Вопросов собственно 2: 1. Почему когда вызываю метод НачатьПодключениеВнешнейКомпоненты для DLL, компонента подключается, но объект не создается. 2. Почему не подключается компонента в Zip-архиве? |
|||
1
H A D G E H O G s
13.09.15
✎
12:49
|
Пусть это будет тебе гуру-тест, забавный ты наш. Думай. Приеду через две недели - выложу решение. А может и нет.
|
|||
2
kcdnb
13.09.15
✎
13:36
|
1с не для тебя
|
|||
3
Serginio1
13.09.15
✎
13:52
|
Может тебе проще сделась СОМ объект с событиями и подключаться к ним через ДобавитьОбработчик ?
|
|||
4
Serginio1
13.09.15
✎
13:53
|
Посмотри http://catalog.mista.ru/public/238584/ там есть реализация и событий и ВК для получения глобального контекста
|
|||
5
qwerty
13.09.15
✎
15:54
|
А как это ты одну dll скомпилил и для x32 и x64?
|
|||
6
Гений 1С
гуру
13.09.15
✎
20:24
|
(3) через COM почему-то не создается объект, хотя regsrv32 нормально прошло
|
|||
7
Гений 1С
гуру
13.09.15
✎
20:24
|
(4) ВК у меня написана.
(5) 32-разрядная может работать и в 64-разрядной среде |
|||
8
Гений 1С
гуру
13.09.15
✎
20:25
|
Через COM почему-то не канает:
ПодключитьВнешнююКомпоненту("AddIn.AddInAnvizUBIO"); AnvizUBIO_Компонента = Новый ("AddIn.AddInAnvizUBIO") Валится на первом операторе, хотя через regsvr32 зарегистрирована успешно. |
|||
9
Гений 1С
гуру
13.09.15
✎
20:26
|
ну я пока тупо использую для подключения тот метод, который работает, но хотелось бы разобраться что 1С имело ввиду, потому что в тонком клиенте только ZIP можно подключать.
|
|||
10
Serginio1
13.09.15
✎
21:10
|
(7) 32 разрядная не может если это не Net товская, там просто компиляция идет при подключении в 64 разрядную.
Это же DLL. (6) А разве у тебя не Native Api, (7) Native Api это вообще обрубок и недоразумение для поддержки линукса. В 8 ке есть подключение к Событиям и можно использовать намного больше типов а главное IDispatch. |
|||
11
Serginio1
13.09.15
✎
21:11
|
(10) А комовскую вроде нельзя подключить в тонком?
|
|||
12
Serginio1
13.09.15
✎
21:25
|
||||
13
Serginio1
13.09.15
✎
21:27
|
||||
14
Гений 1С
гуру
13.09.15
✎
21:57
|
(12) Как это понимать:
"Надо запускать сеанс под толстым клиентом. Если запускать тонкого клиента или web-клиента, предварительно надо установить компоненту." Что значит установить? |
|||
15
Гений 1С
гуру
13.09.15
✎
21:59
|
(13) по этой ссылке он только просек,что надо в архив пихать, не догнал что нужен манифест и инфо.хмл. У меня все это прочухано, но ничего не работает, вот в чем бида.
|
|||
16
Serginio1
13.09.15
✎
22:01
|
УстановитьВнешнююКомпоненту
|
|||
17
Serginio1
13.09.15
✎
22:03
|
(14) Так у тебя нативная или комовская?
|
|||
18
Гений 1С
гуру
13.09.15
✎
22:03
|
(17) у меня нативная.
(16) гм, надо попробовать. Потому что я использовал НачатьУстановку, без УстановитьВнешнююКомпоненту. Но органами чуствую, что не прокатит. |
|||
19
Гений 1С
гуру
13.09.15
✎
22:04
|
(17) я вообще-то в терминологии не силен, но если DLL-ка проходит через Regsrv32, значит её можно юзать как COM?
|
|||
20
Serginio1
13.09.15
✎
22:15
|
(19) Это не терминологии а технологии. Native API сделано для совместимости с линуксом на VMT и соответственно IUnknown и IDispatch там нет. И соответственно подключение к ним различное.
НачатьУстановку это немодальная УстановитьВнешнююКомпоненту. |
|||
21
Гений 1С
гуру
13.09.15
✎
22:22
|
(20) ну раз НачатьУстановку не прокатывает, то и УстановитьВнешнююКомпоненту не прокатит
|
|||
22
Fedor-1971
14.09.15
✎
08:45
|
(0) Возможно я ошибаюсь, но
в строке "AddIn.AddInAnvizUBIO": AddIn - это 7 описание для интерфейса внешних объектов. Если подключил внешнюю компоненту, то просто создавай её объекты через Новый(). |
|||
23
ДенисЧ
14.09.15
✎
08:45
|
1с и ВК - это не твоё. Смирись.
Лучше мобилками барыжь |
|||
24
Гений 1С
гуру
14.09.15
✎
14:39
|
(22) не взлетает
|
|||
25
Гений 1С
гуру
14.09.15
✎
14:40
|
(23) как не мое, я уже одну ВК коммерческую написал. ;-) для ANVIZ дверного замка.
|
|||
26
Serginio1
14.09.15
✎
15:16
|
(25) Ты по какой технологии ВК делаешь?
http://its.1c.ru/db/metodtorg#content:3221:hdoc Судя по \Проект VB COM ты делаешь на VB Создание компонент с использованием технологии COM Технология внешних компонент с использованием COM может также применяться в "1С:Предприятии" более ранних версий (версии 7.7, 8.0 и 8.1). При загрузке внешней компоненты функцией ЗагрузитьВнешнююКомпоненту() или ПодключитьВнешнююКомпоненту() (для компоненты, созданной по технологии COM) "1С:Предприятие 8" определяет ProgID COM-объекта компоненты следующим образом: ProgID имеет вид Vendor.Component; в качестве первой части (Vendor) используется строка AddIn; в качестве второй части (Component) используется строка с ID100 из таблицы строк компоненты. Строка может иметь вид Name1|Name2|...|NameN, и в этом случае будут созданы все объекты с ProgID вида AddIn.NameX. Если такая строка отсутствует, то используется имя файла внешней компоненты без расширения. Также при использовании функции ПодключитьВнешнююКомпоненту() ProgID COM-объекта компоненты передается в качестве параметра функции и может представляться строкой вида ProgID1| ProgID2|...|ProgIDX. Я так понимаю, что УстановитьВнешнююКомпоненту для COM не работают |
|||
27
Гений 1С
гуру
14.09.15
✎
15:34
|
(26) да, у меня эта древняя технология.
|
|||
28
Serginio1
14.09.15
✎
15:46
|
(0) Хотя у людей получилось
v8: Подключение весов в веб клиенте |
|||
29
Serginio1
14.09.15
✎
15:50
|
То есть замени на type="com"
|
|||
30
Гений 1С
гуру
14.09.15
✎
15:52
|
(29) гм, спасибо, попробую.
|
|||
31
Serginio1
14.09.15
✎
16:00
|
и убери arch="x86_64
|
|||
32
Serginio1
14.09.15
✎
16:04
|
и для развития попробуй через события и ДобавитьОбработчик
|
|||
33
Гений 1С
гуру
14.09.15
✎
16:09
|
(32) я так и делаю, через начатьподключение.
|
|||
34
Stim
14.09.15
✎
16:10
|
все не читал.
фиксен, кто этот несчастный работодатель, на которого ты теперь работаешь? |
|||
35
Гений 1С
гуру
14.09.15
✎
16:13
|
(34) в данном случае ANVIZ (из контекста же понятно)
|
|||
36
Serginio1
14.09.15
✎
16:36
|
(33) Ты не понял. Если бы посмотрел как сделано в 4 то понял бы. Смысл в том, что можно сделать ActiveX с событиями и подключаться к ним через ДобавитьОбработчик
например msword = Новый COMОбъект("Word.Application");ДобавитьОбработчик msword.DocumentChange, ПриИзмененииДокумента; На ВБ это элементарно. На .Net еще легче |
|||
37
Serginio1
14.09.15
✎
16:37
|
msword = Новый COMОбъект("Word.Application");
ДобавитьОбработчик msword.DocumentChange, ПриИзмененииДокумента; |
|||
38
Serginio1
14.09.15
✎
16:40
|
Сообщи как у тебя получилось с type="com"
|
|||
39
Гений 1С
гуру
14.09.15
✎
17:01
|
(38) сообщу. все равно ковырять придется. Клиент пока использует розницу с Толстым Клиентом, но планирует использовать со временем Тонкого Клиента. Так что вопрос решить придется, пока можно разрабатывать Native и под толстого. Ок. Спасибо за инфу.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |