Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 8 общая

Коллеги, что-то запарился я с подключением своей ВК к УФ

Коллеги, что-то запарился я с подключением своей ВК к УФ
Я
   Гений 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-архиве?
   H A D G E H O G s
 
1 - 13.09.15 - 12:49
Пусть это будет тебе гуру-тест, забавный ты наш. Думай. Приеду через две недели - выложу решение. А может и нет.
   kcdnb
 
2 - 13.09.15 - 13:36
1с не для тебя
   Serginio1
 
3 - 13.09.15 - 13:52
Может тебе проще сделась СОМ объект с событиями и подключаться к ним через ДобавитьОбработчик ?
   Serginio1
 
4 - 13.09.15 - 13:53
Посмотри http://catalog.mista.ru/public/238584/ там есть реализация и событий и ВК для получения глобального контекста
   qwerty
 
5 - 13.09.15 - 15:54
А как это ты одну dll скомпилил и для x32 и x64?
   Гений 1С
 
6 - 13.09.15 - 20:24
(3) через COM почему-то не создается объект, хотя regsrv32 нормально прошло
   Гений 1С
 
7 - 13.09.15 - 20:24
(4) ВК у меня написана.
(5) 32-разрядная может работать и в 64-разрядной среде
   Гений 1С
 
8 - 13.09.15 - 20:25
Через COM почему-то не канает:

ПодключитьВнешнююКомпоненту("AddIn.AddInAnvizUBIO");
        AnvizUBIO_Компонента = Новый ("AddIn.AddInAnvizUBIO")

Валится на первом операторе, хотя через regsvr32 зарегистрирована успешно.
   Гений 1С
 
9 - 13.09.15 - 20:26
ну я пока тупо использую для подключения тот метод, который работает, но хотелось бы разобраться что 1С имело ввиду, потому что в тонком клиенте только ZIP можно подключать.
   Serginio1
 
10 - 13.09.15 - 21:10
(7) 32 разрядная не может если это не Net товская, там просто компиляция идет при подключении в 64 разрядную.
Это же DLL.
(6) А разве у тебя не Native Api,
(7) Native Api это вообще обрубок и недоразумение для поддержки линукса.
В 8 ке есть подключение к Событиям и можно использовать намного больше типов а главное IDispatch.
   Serginio1
 
11 - 13.09.15 - 21:11
(10) А комовскую вроде нельзя подключить в тонком?
   Serginio1
 
12 - 13.09.15 - 21:25
   Serginio1
 
13 - 13.09.15 - 21:27
   Гений 1С
 
14 - 13.09.15 - 21:57
(12) Как это понимать:
"Надо запускать сеанс под толстым клиентом. Если запускать тонкого клиента или web-клиента, предварительно надо установить компоненту." Что значит установить?
   Гений 1С
 
15 - 13.09.15 - 21:59
(13) по этой ссылке он только просек,что надо в архив пихать, не догнал что нужен манифест и инфо.хмл. У меня все это прочухано, но ничего не работает, вот в чем бида.
   Serginio1
 
16 - 13.09.15 - 22:01
УстановитьВнешнююКомпоненту
   Serginio1
 
17 - 13.09.15 - 22:03
(14) Так у тебя нативная или комовская?
   Гений 1С
 
18 - 13.09.15 - 22:03
(17) у меня нативная.
(16) гм, надо попробовать. Потому что я использовал НачатьУстановку, без УстановитьВнешнююКомпоненту. Но органами чуствую, что не прокатит.
   Гений 1С
 
19 - 13.09.15 - 22:04
(17) я вообще-то в терминологии не силен, но если DLL-ка проходит через Regsrv32, значит её можно юзать как COM?
   Serginio1
 
20 - 13.09.15 - 22:15
(19) Это не терминологии а технологии. Native API сделано для совместимости с линуксом на VMT и соответственно IUnknown и IDispatch там нет. И соответственно подключение к ним различное.
НачатьУстановку это немодальная УстановитьВнешнююКомпоненту.
   Гений 1С
 
21 - 13.09.15 - 22:22
(20) ну раз НачатьУстановку не прокатывает, то и УстановитьВнешнююКомпоненту не прокатит
   Fedor-1971
 
22 - 14.09.15 - 08:45
(0) Возможно я ошибаюсь, но
в строке "AddIn.AddInAnvizUBIO": AddIn - это 7 описание для интерфейса внешних объектов.
Если подключил внешнюю компоненту, то просто создавай её объекты через Новый().
   ДенисЧ
 
23 - 14.09.15 - 08:45
1с и ВК - это не твоё. Смирись.
Лучше мобилками барыжь
   Гений 1С
 
24 - 14.09.15 - 14:39
(22) не взлетает
   Гений 1С
 
25 - 14.09.15 - 14:40
(23) как не мое, я уже одну ВК коммерческую написал. ;-) для ANVIZ дверного замка.
   Serginio1
 
26 - 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 не работают
   Гений 1С
 
27 - 14.09.15 - 15:34
(26) да, у меня эта древняя технология.
   Serginio1
 
28 - 14.09.15 - 15:46
(0) Хотя у людей получилось
v8: Подключение весов в веб клиенте
   Serginio1
 
29 - 14.09.15 - 15:50
То есть замени на type="com"
   Гений 1С
 
30 - 14.09.15 - 15:52
(29) гм, спасибо, попробую.
 
 Рекламное место пустует
   Serginio1
 
31 - 14.09.15 - 16:00
и убери arch="x86_64
   Serginio1
 
32 - 14.09.15 - 16:04
и для развития попробуй через события и ДобавитьОбработчик
   Гений 1С
 
33 - 14.09.15 - 16:09
(32) я так и делаю, через начатьподключение.
   Stim
 
34 - 14.09.15 - 16:10
все не читал.
фиксен, кто этот несчастный работодатель, на которого ты теперь работаешь?
   Гений 1С
 
35 - 14.09.15 - 16:13
(34) в данном случае ANVIZ (из контекста же понятно)
   Serginio1
 
36 - 14.09.15 - 16:36
(33) Ты не понял. Если бы посмотрел как сделано в 4 то понял бы. Смысл в том, что можно сделать ActiveX с событиями и подключаться к ним через ДобавитьОбработчик
например

msword = Новый COMОбъект("Word.Application");ДобавитьОбработчик msword.DocumentChange, ПриИзмененииДокумента;

На ВБ это элементарно. На .Net еще легче
   Serginio1
 
37 - 14.09.15 - 16:37
msword = Новый COMОбъект("Word.Application");

ДобавитьОбработчик msword.DocumentChange, ПриИзмененииДокумента;
   Serginio1
 
38 - 14.09.15 - 16:40
Сообщи как у тебя получилось с type="com"
   Гений 1С
 
39 - 14.09.15 - 17:01
(38) сообщу. все равно ковырять придется. Клиент пока использует розницу с Толстым Клиентом, но планирует использовать со временем Тонкого Клиента. Так что вопрос решить придется, пока можно разрабатывать Native и под толстого. Ок. Спасибо за инфу.


Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.