1

Тема: AHK: ComObjCreate("V82.COMConnector") проблема с передачей параметров

Всем, привет!

Столкнулся с забавной ситуацией и не пойму, как ее разрулить. Есть два примера, один рабочий. другой - нет. В обоих идет обращение к 1С в режиме внешнего соединения.

В 1С есть функция:

function Test (Param1="", Param2="", Param3="") Export
    Возврат "Param1="+Param1+"   Param2="+Param2+"   Param3="+Param3;
Endfunction

Когда я из AHK командой RunWait %A_ScriptDir%\1C.vbs вызываю VBScript

Set Com1C = CreateObject("V82.COMConnector")
Set Base1C = Com1C.Connect("File=""I:\1С\1C 8.2\Клиент""; Usr=""Nick"";")
msgbox Base1C.Test ("Парам1", "Парам2", "Парам3")

естественно, вижу строку: Param1=Парам1   Param2=Парам2   Param3=Парам3
Нормальное, казалось бы, желание все сделать непосредственно из AHK. Пишем:

Com1C := ComObjCreate("V82.COMConnector")
Base1C := Com1C.Connect("File=""I:\1С\1C 8.2\Клиент""; Usr=""Nick"";")
MsgBox, % Base1C.Test ("Парам1", "Парам2", "Парам3")

И вижу строку: Param1=   Param2=   Param3=Парам1
Странно до горя. Ведь нет же проблемы с передачей параметров в

MsgBox, Использование функции svcsvc.dll

SvcService := ComObjCreate("Svcsvc.Service")
Index=Строка1`nСтрока2`nСтрока3`nСтрока4
Select := SvcService.FilterValue(Index, 41, "Заголовок окна", 0, 0, 0, 150)
MsgBox, %Select%

Что из AHK, что из VBScript картинка одна и та же.

2

Re: AHK: ComObjCreate("V82.COMConnector") проблема с передачей параметров

Возможная причина, что здесь

Base1C.Test ("Парам1", "Парам2", "Парам3")

в AHK пробел не допускается, т. е. нужно попробовать так:

MsgBox, % Base1C.Test("Парам1", "Парам2", "Парам3")
Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Telegram jollycoder

3

Re: AHK: ComObjCreate("V82.COMConnector") проблема с передачей параметров

Вот, блин! Второй раз наступаю на одни и те же грабли! Спасибо, teadrinker! Да, именно здесь собака и порылась... Люди добрые, уберите нахрен этот пробел из нашей жизни (крик души!)