Ошибка при передаче строки JavaScript в элемент управления ActiveX - PullRequest
0 голосов
/ 22 февраля 2012

Я пишу элемент управления ActiveX для встраивания в страницу Internet Explorer, и у меня возникают проблемы при передаче строки методу ActiveX из JavaScript.

Я использую элемент управления MFC activex и мою функциювыглядит следующим образом

DISP_FUNCTION_ID (CCSDS_CommunicationCtrl, "CloseCon", eventidCloseCon, CloseCon, VT_EMPTY, VTS_PI1 VTS_I4)

void CloseCon (CHAR * a, LONG b);

* 1008; *1007* * 1008на стороне JavaScript я вызываю метод следующим образом:

CSDS_Communication1.CloseCon ("1", 3)

, при вызове метода возникает ошибка "Несоответствие типов".

Спасибо за любую помощь.

1 Ответ

0 голосов
/ 22 февраля 2012

Хотя я не очень часто использую MFC (сильно предпочитаю ATL), я почти уверен, что вы не можете передавать char * из JavaScript, и вам придется использовать BSTR. То есть: используйте BSTR вместо char * и VTS_WBSTR вместо VTS_Pl1. В вашем коде, пожалуйста, попробуйте

DISP_FUNCTION_ID(CCSDS_CommunicationCtrl, "CloseCon", eventidCloseCon, CloseCon, VT_EMPTY, VTS_WBSTR VTS_I4)

void CloseCon(BSTR a, LONG b);
...