ActiveX компонент DynamicWrapperX 2.2 расширенный. Работает в том числе под 64-разрядной Windows 10

14.04.19

Разработка - Разработка внешних компонент

DynamicWrapperX — это ActiveX компонент (СОМ-сервер), созданный по мотивам DynamicWrapper, как попытка более полной реализации идеи. Он предоставляет возможность в скриптах на JScript и VBScript регистрировать в качестве методов объекта и затем вызывать функции, экспортируемые dll-библиотеками, в частности функции Windows API. Версия 1 работает под Windows 98. С версии 2 также возможна регистрация функции по её адресу в памяти и регистрация машинного кода функции, представленного в виде хекс-строки. Этот компонент не является модификацией оригинального кода DynamicWrapper, он написан с нуля на языке ассемблера GoAsm. Версия 2.2 тестировалась под Windows XP SP3, Windows 7 SP2, Windows 8.1, Windows 10.

Скачать файлы

Наименование Файл Версия Размер
Dynwrapx2.2.0.0_32.zip
.zip 10,81Kb
16
.zip 10,81Kb 16 Скачать
Dynwrapx2.2.0.0_64.zip
.zip 11,55Kb
42
.zip 11,55Kb 42 Скачать
Dynwrapx2.1.1.1_32.zip
.zip 10,86Kb
66
.zip 10,86Kb 66 Скачать
Dynwrapx2.1.1.1_64.zip
.zip 11,68Kb
112
.zip 11,68Kb 112 Скачать
Dynwrapx1.0.0.zip
.zip 6,07Kb
1
.zip 6,07Kb 1 Скачать
HELP.zip
.zip 31,52Kb
75
.zip 31,52Kb 75 Скачать

При решении одной задачи столкнулся с трудностью, в 64-разрядной версии Windows 8.1 никак не получалось зарегистрировать библиотеку dynwrap.dll.

Благо нашел отличную разработку от Юрия Попова

DynamicWrapperX 2.2

 

Распространяется с согласия автора абсолютно бесплатно.

Лицензия: freeware.

Корректно работает в том числе под 64-разрядной Windows 10.

Версия 2.2 тестировалась под Windows XP SP3, Windows 7 SP2, Windows 8.1, Windows 10.

Версия 1.0 работает под Windows 98.

Нововведения в версии 1.0.0.0 по отношению к DynamicWrapper:

  • Добавлена возможность регистрации компонента в системе для текущего пользователя. Это может пригодиться, если у пользователя нет прав администратора.
  • Расширен набор типов входных параметров и возвращаемых значений.
  • Добавлены выходные параметры.
  • Унифицирована работа со строками в JScript и VBScript.
  • Реализован обратный вызов (callback), т.е. возможность для функций API в свою очередь вызывать функции скрипта. Последнее нужно для использования таких API-функций, как EnumWindows.
  • Под Windows 98 отпала необходимость создавать отдельный объект для каждой используемой функции.
  • Добавлены методы NumGet, NumPut, StrPtr, StrGet, Space.

 

Изменения в версии 2 по отношению к версии 1:

  • Компонент не тестировался под Windows 98 и официально её не поддерживает.
  • Доступны два варианта: x86 и x64.
  • Изменён CLSID компонента.
  • При установке и удалении проверяется наличие 1-й версии; дальнейшее зависит от результатов проверки (см. раздел Регистрация в системе).
  • Расширен набор типов параметров и возвращаемых значений: добавлены типы m (Int64), q (UInt64), v (VARIANT).
  • Количество callback-функций теперь неограничено.
  • Расширены возможности метода Register (регистрация функции по ординалу, регистрация под другим именем, добавлен флаговый параметр "f=").
  • Добавлены встроенные методы RegisterAddr, RegisterCode, StrPut, ObjPtr, ObjGet, ArrPtr, VarPtr, MemAlloc, MemFree, Bitness, Version.
  • В методах StrPtr, StrGet, StrPut вместо типа строки можно прямо указать её кодировку.

Изменения в версии 2.1 по отношению к версии 2.0:

  • Добавлено: методы LastError, MemZero, MemCopy, MemRead, MemWrite.
  • Добавлено: необязательный параметр Offset для StrGet и StrPut.
  • Добавлено: возможность использования имён кодировок — "utf-8" и т.п. — в StrPtr, StrGet и StrPut.
  • Изменено: необязательный параметр Offset в NumGet и NumPut может опускаться из середины списка параметров.
  • версия 2.1.1.0 собрана без сжатия компрессором Mpress для избежания ложных срабатываний некоторых антивирусов.
  • в версии 2.1.1.1 исправлена ошибка в методе LastError, вызывавшая исключение при его вызове с аргументом 1, если описание для кода ошибки не было найдено.

В версию 2.2 добавлен флаговый параметр в метод RegisterCallback для указания соглашения вызова callback-функции.

В прикрепленных файлах версия 32-разрядная, 64-разрядная и мануал по установке и использованию от разработчика на английском и русском языках.

 

dynwrap.dll dynwrap Windows 7 8 8.1 10 DynamicWrapper DynamicWrapperX 2.0 2.1 2.2

См. также

Внешняя компонента WebSocket для 1С (c поддержкой Authorization token bearer)

Разработка внешних компонент Платформа 1С v8.3 Конфигурации 1cv8 Платные (руб)

Внешняя компонента в виде библиотеки (.dll файл), позволяющая посылать команды и получать ответы по протоколу WebSocket из 1С. Компонента работает только на стороне "клиента".

4440 руб.

22.06.2020    15953    13    33    

19

Медиадисплей. Рекламный информационный монитор для покупателя.

Разработка внешних компонент POS терминал Рабочее место Розничная торговля Платформа 1С v8.3 1С:Комплексная автоматизация 1.х 1С:Управление торговлей 10 1С:Розница 2 1С:Управление нашей фирмой 1.6 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Розничная и сетевая торговля (FMCG) Рестораны, кафе и фаст-фуд Реклама, PR и маркетинг Управленческий учет Платные (руб)

Монитор покупателя может отображать текущую покупку на кассовом месте, показывать видеорекламу, баннеры, во время простоя разворачивать рекламу на весь экран. Можно использовать в качестве графического меню-борда в кафе и видеовывески. Управление выводом на телевизор через hdmi-приставку на базе Windows или Android. В качестве устройства отображения можно использовать Android-планшеты, фоторамки с Android, монитор любого Windows-компьютера, доступного по сети. Настраивается ЛЮБОЙ ДИЗАЙН экрана!

16800 руб.

30.05.2017    51432    32    69    

41

Компонента ExchangeStruc (Структура Обмена). Прямой обмен данными между потоками, сессиями и окнами.

Разработка внешних компонент Платформа 1С v7.7 Платформа 1С v8.3 Платформа 1C v8.2 Платформа 1С v8.1 Россия Платные (руб)

Аддон "Структура Обмена" (ExchangeStruc) - это компонента, которая обеспечивает доступ к разделяемым процессом структурам, аналогичным структурам 1С. Обеспечивает прозрачную передачу данных примитивных типов, в том числе Двоичных данных, в режиме Реального времени между разными контекстами (формами) или потоками одного процесса. В перспективе функционал будет расширен для обмена между процессами, даже разных версий платформ. Совместим с версиями Windows рабочих станций и серверов, с платформами 1С разных версий и релизов в режиме Native начиная с 8.2, и в режиме COM начиная с версий 7.7. По скорости чтения и записи лишь немногим уступает стандартной структуре 1С. НОВОЕ: Добавлен функционал регистрации компоненты COM в качестве OLE Auto (COMОбъект) для поддержки её работы в серверах старых версий 1С: 8.0 и 8.1, где работа с компонентами исключена. Теперь можно коммуникацию с Фоновыми заданиями на этих версиях проводить.

7200 руб.

19.04.2023    4627    1    0    

3

Внешняя компонента для сканирования (замена TWAIN-компоненты БСП) (Native Win 32/64)

Разработка внешних компонент Платформа 1С v8.3 Конфигурации 1cv8 Платные (руб)

Внешняя компонента позволяет работать c TWAIN-совместимым оборудованием (сканерами, камерами) . Полностью совместима со стандартной TWAIN-компонентой из БСП и может применяться как ее замена без изменения вызовов, при этом может работать с 64-разрядной платформой, а так же имеет расширенную функциональность, например, сохранение результата непосредственно в PDF без использования сторонних утилит. Прекрасно работает на сервере, тонком клиенте и веб-клиенте (проверена работа в браузерах Google Chrome, Mozilla Firefox и Microsoft Internet Explorer).

2400 руб.

12.05.2020    24946    129    93    

78

Внешняя компонента печати PDF (Native Win 32/64)

Разработка внешних компонент Платформа 1С v8.3 Конфигурации 1cv8 Платные (руб)

Внешняя компонента позволяет печатать PDF файлы непосредственно из 1С, не используя при этом сторонних программ. Прекрасно работает на сервере, тонком клиенте и веб-клиенте. Основана на проекте PDFium из состава проекта Chromium/Chrome

1500 руб.

17.09.2018    34253    100    123    

107

Внешняя компонента для подключения 1С к телефонии Asterisk

Разработка внешних компонент Телефония, SIP Платформа 1С v8.3 Конфигурации 1cv8 Россия Платные (руб)

Внешняя компонента выполнена по технологии Native API для 1С 8.х, обеспечивает доступ к программным АТС Asterisk (FreePBX, Elastix) через AMI интерфейс. Через него можно управлять многими функциями Asterisk (определение номеров, перевод звонков, набор телефона и т. д.)

2400 руб.

04.05.2018    44074    115    64    

58

Внешняя компонента для работы с Apach Kafka

Инструментарий разработчика Разработка внешних компонент Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

Пример взаимодействия 1С с Apach Kafka посредством внешней компоненты, разработанной на основе официальной библиотеки librdkafka (the Apache Kafka C/C++ client library).

22.11.2023    2112    40    ivan1703    25    

37

Внешняя компонента GraphQL клиент для 1С

Разработка внешних компонент Платформа 1С v8.3 Платформа 1C v8.2 Платные (руб)

Внешняя компонента, позволяющая посылать команды и получать ответы по GraphQL протоколу из 1С.Может быть использована при интеграции. В 1С работает на стороне "клиента".

4600 руб.

27.06.2023    2230    1    0    

1
Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. teflon 27.03.14 23:51 Сейчас в теме
2. CaSH_2004 372 21.06.15 20:35 Сейчас в теме
За то что не поленился и скопировал сюда с сайта автора описание - спасибо :) Ну а где пример как использовать в 1С?
3. 1sig 242 26.06.15 12:50 Сейчас в теме
(2) CaSH_2004, применений множество. сделай поиск - Новый COMОбъект("DynamicWrapper",
как реализовать функцию Sleep в 1С например и т.д.
4. tormozit 7077 30.12.16 18:26 Сейчас в теме
Можно ли выложить исходники (например на github)?
5. 1sig 242 09.01.17 00:59 Сейчас в теме
(4) напиши автору: Юрий Попов
6. tormozit 7077 13.06.17 10:24 Сейчас в теме
Появилась новая версия DynamicWrapperX2 с новыми методами (например MemRead). Можно ли обновить описание?
8. 1sig 242 01.07.17 12:38 Сейчас в теме
(6)обновлено до версии 2.1.
7. tormozit 7077 17.06.17 10:51 Сейчас в теме
У новой версии функция Version возвращает 2.1.4.1 . Хотелось бы знать версию компоненты из этой публикации.
9. 1sig 242 01.07.17 12:38 Сейчас в теме
(7)2.1.1.1
10. tormozit 7077 18.10.18 22:40 Сейчас в теме
WIndows defender теперь стал определять ее как HackTool
Прикрепленные файлы:
11. kote 536 21.10.18 16:10 Сейчас в теме
(10)

Инструменты разработчика не могу запустить из за этого :((
Доступа админского нет на этом компьютере.. побороть не могу

Можете что-то посоветовать?
13. tormozit 7077 21.10.18 21:57 Сейчас в теме
(11) Выпущена исправленная версия ИР.
12. tormozit 7077 21.10.18 19:11 Сейчас в теме
(10) Советую подождать выхода новой версии ИР.
14. kote 536 22.10.18 02:11 Сейчас в теме
(12) А Дефендер все, навсегда будет ругаться на эту тулзу?

Может это ошибка - все таки тулза подписана, да и инструменты Рассиновича для винды (кажется такая фамилия) тоже были достаточно "хактулзными" - но ничего, не ругается на них..

PS .. и странно - 32-битный ДинамикВраппер не определяется как хактулз..
15. tormozit 7077 22.10.18 07:07 Сейчас в теме
(14) Откуда мне знать то?)
16. chessman 190 25.10.18 09:13 Сейчас в теме
(14)
Коллега, а Вы какой 1C-й клиент используете x32 или х64? С каким из них проблемы?
17. kote 536 25.10.18 16:09 Сейчас в теме
(16) Проблема с x64 компонентой, клиенты используем и те и эти..
.. но версия компонента не от клиента, а от разрядности ОС зависит
(по моему так, не?).
18. chessman 190 25.10.18 18:30 Сейчас в теме
(17) "(по моему так, не?). " не, не так, как раз от клиента.
Теперь по сути вопроса. У меня defender не ругается ни на ту, ни на другую версии, может это связано с установленным AVG.
Предлагаю провести следующий эксперимент: сделать копию Dll, взять winhex, найти там CLSID и исправить его в двух местах. Сохранить и проверить дефендером, будет ли ругань.
Прикрепленные файлы:
19. SleeperVlz 29.11.22 10:55 Сейчас в теме
Добрый день.
Пытаюсь использовать эту компоненту для того, чтобы подключить в скрипт стороннюю библиотеку (не стандартную виндовую, которые описаны в хелпе). В параметрах метода Register передаю полный путь к библиотеки вида «C:\Program Files (x86)\MyProg Ver 831\bin\MyFile.dll». В результате получаю ошибку «Не удалось найти или загрузить DLL». Вопрос: так все-таки не удалось найти или загрузить? Т.е. может оно пути с пробелами не любит или путь нужно как-то хитро писать?
Прикрепленные файлы:
20. 1sig 242 05.12.22 09:00 Сейчас в теме
(19) уточните у автора компоненты, такие манипуляции с dll все таки выходят за рамки типового поведения Платформы 1С и ее взаимодействия с ОС)
21. Serg2000mr 235 18.12.22 22:02 Сейчас в теме
Из-за кода
uint = 0;
format = "\0";
cchMaxCount = 10;

Wrap = Новый COMОбъект("DynamicWrapperX.2");

Wrap.Register("user32", "GetClipboardFormatNameA", "i=uSl", "r=l");
Wrap.Register("user32", "CloseClipboard");

res = Wrap.OpenClipboard(0);
	
ptr = Wrap.VarPtr(format);
fName	= Wrap.GetClipboardFormatNameA(uint, ptr, cchMaxCount);
Показать


Вываливается из 1С без всяких окон на последней строке.
22. 1sig 242 19.12.22 05:09 Сейчас в теме
(21) сообщите автору об ошибке, быть может поможет разобраться в чем причина: ошибки в dll или что то не так на уровне ОС с правами. Поддержку работы с буфером обмена обещали на платформе 8.3.24
Оставьте свое сообщение