|
v7: Можно ли подружить Native-библиотеку с 1С 7.7 | ☑ | ||
---|---|---|---|---|
0
Volodja
22.05.19
✎
15:33
|
Подскажите, пожалуйста. Есть написанная Native-библиотека для криптографии. Успешно используется в 1С 8.х
Как обернуть ее для использования в 1С 7.7? Исходного кода библиотеки нет. Возможно ли это? |
|||
1
ДенисЧ
22.05.19
✎
15:35
|
||||
2
Volodja
22.05.19
✎
15:45
|
(1) Где взять dynwrapx.dll ?
|
|||
3
Garykom
гуру
22.05.19
✎
15:47
|
(0) Поднять http сервис на 1С 8 и заюзать его из 1С 7.7
|
|||
4
Вафель
22.05.19
✎
15:48
|
(3) тормозить все будет не по детски?
|
|||
5
Garykom
гуру
22.05.19
✎
15:48
|
(4) У нас энтерпрайз или нет? Когда не тормозит это уже точно не энтерпрайс
|
|||
6
Volodja
22.05.19
✎
15:48
|
(3) А если нет 8-ки?
|
|||
7
Volodja
22.05.19
✎
15:50
|
(1) Это она?
http://catalog.mista.ru/public/267819/ |
|||
8
ДенисЧ
22.05.19
✎
15:54
|
(7) Gj[j;t
|
|||
9
Кирпич
22.05.19
✎
16:08
|
Написать еще одну ВК, которая будет прикидываться восьмеркой
|
|||
10
MadDAD
23.05.19
✎
15:50
|
(7)
http://dynwrapx.script-coding.com/dwx/pages/dynwrapx.php Нужно изучить технологию Native - внешних компонент, на сколько я помню там все методы экспортируются из библиотеки без участия COM. И написать обертку на 1С с использованием DynamicWrapperX. Экспортируемые методы можно посмотреть при помощи dependencywalker или dumpbin, ну или IDA. |
|||
11
MadDAD
23.05.19
✎
16:12
|
(10)
Native-компонента экспортирует 3 метода GetClassObject() DestroyObject() GetClassNames() GetClassNames - возвращает массив имен создаваемых объектов. GetClassObject - возвращает указатель на созданный внутри компоненты экземпляр класса, по переданному имени. У этого указателя нужно получить указатель VFTable и дергать оттуда методы Init(), FindMethod(), CallAsProc(), CallAsFunc(). Засада может ожидать если компонента использует механизмы платформы для работы. |
|||
12
MadDAD
23.05.19
✎
16:20
|
(11) Если компонента все же использует механизмы платформы, и автор достаточно упорот чтобы продолжить интеграцию - нужно будет написать библиотеку -обертку, которая действительно будет имитировать v8 - т.е. должна объект, реализующий интерфейс v8: методы AddError(), RegisterProfileAs(), Read(), Write() и т.п. из списка отсюда -https://its.1c.ru/db/metod8dev#content:3221:hdoc:_cpp_intf_enterprise
В данном случае, кмк, проще написать с нуля такую же компоненту для 7.7 |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |