|
13.08.2007, 10:33 | #1 |
MCTS
|
передать строку в ActiveX
Всем привет
есть метод в ActiveX длл-ке на С++: X++: [SIZE=2]STDMETHODIMP CctrlATL5::GetArt(LONG _slatNum, LONG _pieceNum, BSTR* _art)
{[/SIZE][SIZE=2][/SIZE][SIZE=2]TCHAR * pS;
pS = pJInterface->getArt(_slatNum, _pieceNum);
wcscpy_s(([/SIZE][SIZE=2][COLOR=#0000ff]wchar_t[/COLOR][/SIZE][SIZE=2]*)_art, MAX_NAME, pS);
[/SIZE][SIZE=2][COLOR=#0000ff]return[/COLOR][/SIZE][SIZE=2] S_OK;
}
[/SIZE] собственно, вызываем его в Аксапте: X++: str GetArt(int _slat, int _piece) { COMDispFunction funcDisp; COMVariant var1, var2, var3; str artRet; ; funcDisp = new COMDispFunction(comJ, "GetArt", COMDispContext::Method); var1 = new COMVariant(COMVariantInOut::IN, COMVariantType::VT_INT); var2 = new COMVariant(COMVariantInOut::IN, COMVariantType::VT_INT); var3 = new COMVariant(COMVariantInOut::Out_retVal, COMVariantType::VT_BSTR); var1.int (_slat); var2.int (_piece); var3.bStr(artRet); funcDisp.call(var1, var2, var3); funcDisp.finalize(); var1.finalize(); var2.finalize(); var3.finalize(); return artRet; } Вопрос: как в Аксапте передать указатель на аксаптовскую строку в ActiveX? |
|
13.08.2007, 15:23 | #2 |
MCTS
|
все разобрался, ошибка была в ActiveX
|
|