AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX: Программирование
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 13.08.2007, 10:33   #1  
Eldar9x is offline
Eldar9x
MCTS
Аватар для Eldar9x
Oracle
MCBMSS
 
1,064 / 166 (8) ++++++
Регистрация: 29.09.2006
Адрес: Казань
передать строку в 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]
как видно, в передаваемый в функцию указатель копируется (wcscpy_s) некоя строка из ActiveX.

собственно, вызываем его в Аксапте:
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;
}
в результате строка не возвращается, причем при отладке в VS получаем bad ptr, то есть неверно передавать саму строку.
Вопрос: как в Аксапте передать указатель на аксаптовскую строку в ActiveX?
Старый 13.08.2007, 15:23   #2  
Eldar9x is offline
Eldar9x
MCTS
Аватар для Eldar9x
Oracle
MCBMSS
 
1,064 / 166 (8) ++++++
Регистрация: 29.09.2006
Адрес: Казань
все разобрался, ошибка была в ActiveX
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Когда ActiveX отпускает документ? patron DAX: Программирование 8 26.12.2011 14:24
dax-lessons: Problem when creating a dynamic form with ActiveX control & Solution :) Blog bot DAX Blogs 0 30.04.2008 16:05
Ошибка ActiveX PT DAX: Функционал 9 09.10.2006 13:00
Как убить ActiveX компонет на форме Аксапты? Горбунов Дмитрий DAX: Функционал 1 29.11.2004 18:07
Проблема с activeX mscomm32 Tatka DAX: Программирование 2 08.04.2004 14:57

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 18:58.