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.

Скачать файл

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование По подписке [?] Купить один файл
Dynwrapx2.2.0.0_32.zip
.zip 10,81Kb
20
20 Скачать (1 SM) Купить за 1 850 руб.
Dynwrapx2.2.0.0_64.zip
.zip 11,55Kb
49
49 Скачать (1 SM) Купить за 1 850 руб.
Dynwrapx2.1.1.1_32.zip
.zip 10,86Kb
69
69 Скачать (1 SM) Купить за 1 850 руб.
Dynwrapx2.1.1.1_64.zip
.zip 11,68Kb
115
115 Скачать (1 SM) Купить за 1 850 руб.
Dynwrapx1.0.0.zip
.zip 6,07Kb
2
2 Скачать (1 SM) Купить за 1 850 руб.
HELP.zip
.zip 31,52Kb
78
78 Скачать (1 SM) Купить за 1 850 руб.

При решении одной задачи столкнулся с трудностью, в 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

См. также

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

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

4440 руб.

22.06.2020    18129    18    33    

22

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

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

2400 руб.

04.05.2018    46798    122    66    

66

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

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

3000 руб.

12.05.2020    28228    138    100    

90

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

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

4600 руб.

27.06.2023    3396    2    0    

4

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

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

1500 руб.

17.09.2018    36481    113    127    

114

Разработка внешних компонент Механизмы платформы 1С Программист Стажер Платформа 1С v8.3 Бесплатно (free)

Некоторые практические аспекты создания внешних компонент на языке С++ для платформы 1С 8.3++.

26.01.2024    6781    starik-2005    32    

44

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

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

22.11.2023    4372    87    ivan1703    26    

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

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

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

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

PS .. и странно - 32-битный ДинамикВраппер не определяется как хактулз..
15. tormozit 7230 22.10.18 07:07 Сейчас в теме
16. chessman 192 25.10.18 09:13 Сейчас в теме
(14)
Коллега, а Вы какой 1C-й клиент используете x32 или х64? С каким из них проблемы?
17. kote 537 25.10.18 16:09 Сейчас в теме
(16) Проблема с x64 компонентой, клиенты используем и те и эти..
.. но версия компонента не от клиента, а от разрядности ОС зависит
(по моему так, не?).
18. chessman 192 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 248 05.12.22 09:00 Сейчас в теме
(19) уточните у автора компоненты, такие манипуляции с dll все таки выходят за рамки типового поведения Платформы 1С и ее взаимодействия с ОС)
21. Serg2000mr 678 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 248 19.12.22 05:09 Сейчас в теме
(21) сообщите автору об ошибке, быть может поможет разобраться в чем причина: ошибки в dll или что то не так на уровне ОС с правами. Поддержку работы с буфером обмена обещали на платформе 8.3.24
Оставьте свое сообщение