Имя: Пароль:
1C
 
Коллеги, поможите с подключением ВК в тонком клиенте
0 Гений 1С
 
гуру
11.08.20
16:26
Моя ВК написана на VB6, Native.
На толстом подключается успешно:

    ЗагрузитьВнешнююКомпоненту(СокрлП(ФайлDLL));
    AnvizUBIO_Компонента = Новый ("AddIn.AddInAnvizUBIO");


Вот озадачился сделать ее подключаемой на тонком. И никак не хочет.

    УстановитьВнешнююКомпоненту("ВнешняяОбработка.ТестПодключенияБиометрии.Макет.AddInAnvizUBIO");
    Результат = ПодключитьВнешнююКомпоненту("ВнешняяОбработка.ТестПодключенияБиометрии.Макет.AddInAnvizUBIO", "AddInAnvizUBIO", ТипВнешнейКомпоненты.Native);

Причем установить отрабатывает, а подключить нет.
Пробовал и подключать по непосредственному пути к ФайлDLL, никак.

Может какие-то нюансы, если ВК использует другие DLL? Потому что по сути она использует несколько DLL.
Кто подскажет, куда копать, тому 2.000 рубасов башляю, если поможет.
1 бомболюк
 
11.08.20
16:40
А откуда вызывается код установки/подключения?
2 Garykom
 
гуру
11.08.20
16:42
(0) Ты на VB6 написал Native ВК ?

Делись шаблоном ВК
3 acht
 
11.08.20
16:43
(0) > на VB6, Native
Запасся попкорном
4 Garykom
 
гуру
11.08.20
16:44
(0) Для начала уже изучал https://its.1c.ru/db/v839doc#bookmark:dev:TI000001195 ?
5 Garykom
 
гуру
11.08.20
16:44
(3) ну а вдруг?
6 Garykom
 
гуру
11.08.20
16:45
(3) VB6 это же не VB.Net а то что было до этого и оно вполне DLL умеет делать.
Вопрос умеет ли C++ совместимые а не просто COM
7 Гений 1С
 
гуру
11.08.20
16:46
Вот проверил, NameDecl подключается:
https://its.1c.eu/db/metod8dev/content/5152/hdoc

Манифест там такой:
<?xml version="1.0" encoding="UTF-8" ?>

<bundle xmlns="http://v8.1c.ru/8.2/addin/bundle">;
    <component os="Windows" path="1CNameDecl_IEWin32.cab" type="plugin" object="1CNameDeclIE32.AddInServiceEx" arch="i386" client="MSIE" />
    <component os="Windows" path="1CNameDecl_IEWin64.cab" type="plugin" object="1CNameDeclIE64.AddInServiceEx" arch="x86_64" client="MSIE" />
    <component os="Windows" path="1CNameDecl_FF3Win32.xpi" type="plugin" object="@1C.ru/1CNameDeclFFWin32;1" arch="i386" client="Firefox" clientVersion="3.*"/>
    <component os="Windows" path="1CNameDecl_FF4Win32.xpi" type="plugin" object="@1C.ru/1CNameDeclFFWin32;1" arch="i386" client="Firefox" clientVersion="4.*"/>
    <component os="Windows" path="1CNameDecl_FF5Win32.xpi" type="plugin" object="@1C.ru/1CNameDeclFFWin32;1" arch="i386" client="Firefox" clientVersion="5.*"/>
    <component os="Windows" path="1CNameDeclWin32.dll" type="native" arch="i386"/>
    <component os="Windows" path="1CNameDeclWin64.dll" type="native" arch="x86_64"/>
</bundle>


Проверяю так:

&НаКлиенте
Процедура ПроверитьNameDeclТК(Команда)
    УстановитьВнешнююКомпоненту("ВнешняяОбработка.ТестПодключенияБиометрии.Макет.NameDecl");
    Результат = ПодключитьВнешнююКомпоненту("ВнешняяОбработка.ТестПодключенияБиометрии.Макет.NameDecl", "NameDecl", ТипВнешнейКомпоненты.Native);
    
    
    Если НЕ Результат Тогда
        ПоказатьПредупреждение(, "Ошибка подключения NameDecl!");
    Иначе
        ПоказатьПредупреждение(, "Подключение NameDecl прошло успешно!");
    КонецЕсли;
    
КонецПроцедуры
8 Гений 1С
 
гуру
11.08.20
16:47
(6) это не COM, а Native API. Если бы COM, я бы просто создавал COM-Объект после регистрации его через regsrv32.exe
9 Гений 1С
 
гуру
11.08.20
16:48
(2) ну раньше было в демо-примерах ВК на 1С и ВК на VB 6.0, компонента давно написана
10 Garykom
 
гуру
11.08.20
16:48
(8) Вот делись шаблоном Native API (а не простого COM) на VB6
11 Гений 1С
 
гуру
11.08.20
16:48
(1) с клиента. 32-разрядного.
12 Garykom
 
гуру
11.08.20
16:48
(9) Ты упал? Там COM ВК старые ))
13 Garykom
 
гуру
11.08.20
16:49
Результат = ПодключитьВнешнююКомпоненту("ВнешняяОбработка.ТестПодключенияБиометрии.Макет.AddInAnvizUBIO", "AddInAnvizUBIO", ТипВнешнейКомпоненты.COM);
14 бомболюк
 
11.08.20
16:52
А вот те *.dll, которые она использует - они где лежат?
15 Garykom
 
гуру
11.08.20
16:54
(14) не беги вперед про ExtCompT
16 H A D G E H O G s
 
11.08.20
17:02
17 Гений 1С
 
гуру
11.08.20
17:05
(14) в system32 или syswow64 (для 64-разрядной).
(12) гм, это мысль.
Вот файл проекта:
Type=Control
Reference=*\G{00020430-0000-0000-C000-000000000046}#2.0#0#C:\Windows\SysWOW64\stdole2.tlb#OLE Automation
Reference=*\G{4F0D4571-0E7B-11D1-A486-004095E1DAEA}#1.0#0#AddIn.tlb#V7 AddIn 1.0 Type Library
UserControl=AddInObj.ctl
Module=AddInAnvizUBIOMod; AddInAnvizUBIOMod.bas
Module=UBIO_DLL; UBIO_DLL.bas
Form=K:\Program Files (x86)\Microsoft Visual Studio\VB98\FingerForm.frm
ResFile32="AddInStr.RES"
Startup="(None)"
HelpFile=""
Title="VBTmpl"
ExeName32="AddInAnvizUBIO.dll"
Command32=""
Name="AddIn"
HelpContextID="0"
CompatibleMode="0"
CompatibleEXE32="AddInAnvizUBIO.dll"
MajorVer=1
MinorVer=0
RevisionVer=0
AutoIncrementVer=0
ServerSupportFiles=0
VersionCompanyName="1C"
CompilationType=0
OptimizationType=0
FavorPentiumPro(tm)=0
CodeViewDebugInfo=0
NoAliasing=0
BoundsCheck=0
OverflowCheck=0
FlPointCheck=0
FDIVCheck=0
UnroundedFP=0
StartMode=1
Unattended=0
Retained=0
ThreadPerObject=0
MaxNumberOfThreads=1
18 Гений 1С
 
гуру
11.08.20
17:07
(13) COM тоже не прокатывает.

    УстановитьВнешнююКомпоненту("ВнешняяОбработка.ТестПодключенияБиометрии.Макет.AddInAnvizUBIO");
    Результат = ПодключитьВнешнююКомпоненту("ВнешняяОбработка.ТестПодключенияБиометрии.Макет.AddInAnvizUBIO", "AddInAnvizUBIO", ТипВнешнейКомпоненты.COM);
19 Гений 1С
 
гуру
11.08.20
17:08
(13) Похоже что Гариком заработает сегодня 2000 рубасов.

Вот так прошло успешно:
    УстановитьВнешнююКомпоненту("ВнешняяОбработка.ТестПодключенияБиометрии.Макет.AddInAnvizUBIO");
    //Результат = ПодключитьВнешнююКомпоненту("ВнешняяОбработка.ТестПодключенияБиометрии.Макет.AddInAnvizUBIO", "AddInAnvizUBIO", ТипВнешнейКомпоненты.COM);
    Результат = ПодключитьВнешнююКомпоненту(ФайлDLL, "AddInAnvizUBIO", ТипВнешнейКомпоненты.COM);

Сча проверю еще чутка и если ок, переведу.
20 Гений 1С
 
гуру
11.08.20
17:09
Гм, но она теперь спотыкается далее, не создает объект, посмотрю, может нужно какое другое имя давать:

    Результат = ПодключитьВнешнююКомпоненту(ФайлDLL, "AddInAnvizUBIO", ТипВнешнейКомпоненты.COM);
    
    AnvizUBIO_Компонента = Новый ("AddIn.AddInAnvizUBIO");
    ТекВерсия = AnvizUBIO_Компонента.About();
    Сообщить("Компонента AddInAnvizUBIO.dll версия: " + ТекВерсия);
21 Garykom
 
гуру
11.08.20
17:20
(20) 1С от админа запусти и проверь что 1С 32 битная
22 Гений 1С
 
гуру
11.08.20
17:20
(21) 32-битная. запущена от админа. Точно такая же в толстом тоже регистрирует нормально. гм...
23 Гений 1С
 
гуру
11.08.20
17:21
Так тоже не создает:
    AnvizUBIO_Компонента = Новый ("AddIn.AddInAnvizUBIO.ComponentExtention");
24 acht
 
11.08.20
17:22
Вот так вот гений и сэкономил 2000
25 Garykom
 
гуру
11.08.20
17:24
(24) да он олень в (8) свою COM ВК же описал
26 H A D G E H O G s
 
11.08.20
17:24
Гений, ну подключись отладчиком, хватить титьки мять
27 Гений 1С
 
гуру
11.08.20
17:26
(24) (25) (26) Думаю, все же Гариком заработал свои 2к.
Вот так отработало:

    Результат = ПодключитьВнешнююКомпоненту(ФайлDLL, "AddInAnvizUBIO", ТипВнешнейКомпоненты.COM);
    
    Если НЕ Результат Тогда
        ПоказатьПредупреждение(, "Ошибка подключения сканера отпечатков UBIO!");
    Иначе
        ПоказатьПредупреждение(, "Подключение сканера отпечатков UBIO прошло успешно!");
    КонецЕсли;
    
    AnvizUBIO_Компонента = Новый ("AddIn.AddInAnvizUBIO.AddInAnvizUBIO");
    ТекВерсия = AnvizUBIO_Компонента.About();
    Сообщить("Компонента AddInAnvizUBIO.dll версия: " + ТекВерсия);


ссылку нагуглил тут:
ПодключитьВнешнююКомпоненту(): на сервере подключается, но не создаётся...

Счас, еще чутка погоняю в ТК и если все ОК, буду башлять. йопта.
28 Гений 1С
 
гуру
11.08.20
20:02
где-то к концу недели проверю и переведу.
29 acht
 
12.08.20
00:04
(28) > где-то к концу недели

Скажиете, а у вас брат-таксист в Москве есть?
30 Гений 1С
 
гуру
12.08.20
21:34
Все получилось.
Написал в блог: https://geniy1s.ru/bolshoj-shag-dlya-anviz-biometrii/
Гарикому написал запрос на платежные реквизиты, 2к его.
31 Гений 1С
 
гуру
13.08.20
18:06
Перевел 2к Гарикому, еще раз спасибо за наводку мысли в верном направлении.
32 Garykom
 
гуру
13.08.20
18:18
Подтверждаю, получил 2к