Прошу не пинать если вопрос глупый. С АктивХ никогда не работал, а тут понадобилось. Есть такой метод в моем интерфейсе:
HRESULT _stdcall IntegrityCheck([out] BSTR * LogStr, [out, retval] long * Res );
В дельфи транслируется так:
function IntegrityCheck(out LogStr: WideString): Integer; dispid 210;
Суть в том, что хочу возвращать в качестве результата некое число, и при необходимости заполнять своими данными строку, переданную в качестве параметра. Использую в JScript так:
var obj = new ActiveXObject("MYLib.IntegrityCheckerTest");
var str = "test";
var i = obj.IntegrityCheck(str);
WScript.Echo(str + " " + i);
Но переменная str не меняет своего значения как хотелось бы. Если поменять на [in, out]/var, то получаю "test" внутри интерфейса, а вот обратно всё-равно никак. Что я делаю не так? Подозреваю что не знаю какого-то нюанса, а какого - не пойму.