Тема: 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, не помогло.