![]() |
#12 |
Участник
|
Цитата:
Сообщение от Владимир Максимов
![]() Если обернуть вызов в ComDispFunction() не поможет?
X++: static void test_Com(Args _args) { Com comApplication; str ret; str s; ComDispFunction funcGet; COMVariant varArgStr1; COMVariant varArgStr2; COMVariant varArgStr3; COMVariant varArgStr4; ComVariant varRet; ; try { comApplication = new COM("iDocIntegrator.DocOperation"); if(!comApplication) { info("error"); return; } // Вместо прямого вызова, сделать вызов через ComDispFunction //ret = comApplication.Login("login", "pass", "pass", "D:\key"); // Функция funcGet = new ComDispFunction(comApplication, "Login", COMDispContext::PropertyGet); // Параметры varArgStr1 = COMVariant::createFromStr("login"); varArgStr2 = COMVariant::createFromStr("pass"); varArgStr3 = COMVariant::createFromStr("pass"); varArgStr4 = COMVariant::createFromStr("D:\key"); // Возвращаемое значение varRet = new COMVariant(COMVariantInOut::OUT_RETVAL, COMVariantType::VT_BSTR); // Выполнение funcGet.call(varArgStr1, varArgStr2, varArgStr3, varArgStr4, varRet); // Результат выполнения ret = varRet.bStr(); if(!ret) { // Вместо прямого вызова, сделать вызов через ComDispFunction //s = comApplication.GetDocInfoList("20160218", "20160218"); // Функция funcGet = new ComDispFunction(comApplication, "GetDocInfoList", COMDispContext::PropertyGet); // Параметры varArgStr1 = COMVariant::createFromStr("20160218"); varArgStr2 = COMVariant::createFromStr("20160218"); // Возвращаемое значение varRet = new COMVariant(COMVariantInOut::OUT_RETVAL, COMVariantType::VT_BSTR); // Выполнение funcGet.call(varArgStr1, varArgStr2, varRet); // Результат выполнения s = varRet.bStr(); info(s); } else { info(ret); } comApplication = null; } catch(Exception::Error) { comApplication = null; throw error("Обработка отменена!"); } comApplication = null; info('end'); } <?xml version="1.0" encoding="windows-1251"?><ERROR>Access violation at address 1105C5CF in module 'libeay32.dll'. Write of address 0889E338</ERROR> |
|
Теги |
com connector, com-объект, thread |
|
|