1

Тема: 1C & DynamicWrapper: передача строк

Есть такая длл dynwrp.dll
описание тут:
http://www.script-coding.com/dynwrap.html

Так вот, с ее помощью я хочу вызвать функции других длл, в 1С
Вот код в 1С 7.7:

Wrapper = СоздатьОбъект"DynamicWrapper");
Wrapper.Register("USER32.DLL", "ActivateKeyboardLayout", "i=ll", "f=s", "r=l");
Wrapper.Register("USER32.DLL", "LoadKeyboardLayout", "i=sl", "f=s", "r=l");
rus = Wrapper.LoadKeyboardLayout("00000419", 0);
Wrapper.ActivateKeyboardLayout(rus, 0);

Вот код в 1С 8.1:

Wrapper = Новый COMОбъект("DynamicWrapper");
Wrapper.Register("USER32.DLL", "ActivateKeyboardLayout", "i=ll", "f=s", "r=l");
Wrapper.Register("USER32.DLL", "LoadKeyboardLayout", "i=sl", "f=s", "r=l");
rus = Wrapper.LoadKeyboardLayout("00000419", 0);
Wrapper.ActivateKeyboardLayout(rus, 0);

Суть в том, что в 7.7 работает, в 8.1 нет.

Проблема локализована, в 8.1 есть проблема с передачей строковых параметров, те которые "i=s". В чем конкретно проблема не знаю, но строка доходит точно не в том виде, в котором я передаю или вообще никак не доходит. Может кодировка, может еще что-то...

Так вот вопрос, tсть какие-нибудь методы схитрить в данном случае, передать как-то по другому строковый параметр? Пробовал вместо s использовать r, не помогло.

2

Re: 1C & DynamicWrapper: передача строк

shurik_klgd, код оформляется тэгом «code», ссылки оформляются тэгом «url», в заголовке темы указывается префикс языка. Я поправил Ваш пост.

Подумал, и перенёс тему в Прочие скриптовые технологии и близкие к ним.

3

Re: 1C & DynamicWrapper: передача строк

alexii: ok, спасибо
Нарыл похожую траблу v8: DynamicWrapper функция не возвращает строковое значение

4

Re: 1C & DynamicWrapper: передача строк

Может есть аналог DynamicWrapper?

5

Re: 1C & DynamicWrapper: передача строк

shurik_klgd, а в 8.2 не пробовал? Может, это недостаток в 8.1 такой. На 8.2 всё равно надо переходить...

Предложения в русском языке начинаются с большой буквы и заканчиваются точкой.
В названии ветки всегда должен быть указан язык программирования или среда исполнения скрипта, если это возможно.

6

Re: 1C & DynamicWrapper: передача строк

а i=w, не пробовал?

7

Re: 1C & DynamicWrapper: передача строк

Может есть аналог DynamicWrapper?

А как же:
Библиотека dynwrapx.dll и вызов функций Win 32 API
JScript/VBScript & Win32 API: DynamicWrapperX
WSH: обсуждаем DynamicWrapperX от YMP
и дополнение от chessman:
JScript/VBScript & Win32: расширение возможностей DynamicWrapperX

8

Re: 1C & DynamicWrapper: передача строк

i=w. тоже не работает
DynamicWrapperX отработал на ура!
спасибо, alexii