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 1C:Бухгалтерия Платные (руб)

Позволяет автоматизировать работу с картинками. С помощью компоненты можно измерять размер изображений, поворачивать их, наносить водяные знаки, конвертировать из одного формата в другой. Будет очень полезна для интернет-магазинов и всех, кому постоянно требуется работать с различными графическими форматами. Выполнена по технологии NativeAPI. Работает с форматами: jpg (jpeg), png, bmp, gif, tif

3600 руб.

02.09.2010    77780    73    257    

191

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

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

3000 руб.

12.05.2020    29062    139    100    

92

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

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

1500 руб.

17.09.2018    37130    115    128    

116

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

Внешняя компонента для конвертации PDF файлов в картинки без использования дополнительных программ. Работает на сервере и в тонком клиенте.

2400 руб.

25.06.2024    1311    3    4    

3

Разработка внешних компонент Системный администратор Программист Стажер Бесплатно (free)

Библиотека для работы с базами SQLite из 1С на основе внешней компоненты. Для Linux и Windows, бесплатно и с открытым исходным кодом!

14.01.2025    2625    bayselonarrend    14    

48

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

В статье описывается приложение-конструктор внешних компонент (native API). Конструктор упрощает процесс разработки за счет удобного добавления всех нужных функций и процедур в графическом режиме, с указанием их параметров и типов параметров. На выходе приложение генерирует готовый код на С++ и Rust и позволяет сразу приступить к реализации, без настройки API компоненты вручную.

04.12.2024    5383    kovalevdmv    26    

77

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

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

26.01.2024    7829    starik-2005    40    

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

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

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

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

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