2012-02-22 25 views
0

Internet Explorerページに埋め込むActiveXコントロールを作成していますが、JavaScript内からActiveXメソッドに文字列を渡す際に問題があります。私は、MFCのActiveXコントロールを使用していますし、私の機能は、このJavaScript文字列をActiveXコントロールに渡す際にエラーが発生しました

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

無効CloseCon(CHAR *、LONG Bのように見える

); JavaScriptの側では

、私はこのようなメソッドを呼び出します。それは私に「種類不一致」エラーを与えるメソッドを呼び出している間

CSDS_Communication1.CloseCon(「1」、3)

ありがとうございました。

答えて

0

私はMFCをあまり使用していませんが(強くATLを好む)、私はJavaScriptからchar *を伝達できず、BSTRを使用しなければならないと確信しました。つまり、char *ではなくBSTRを使用し、VTS_Pl1ではなくVTS_WBSTRを使用します。あなたのコードでは、

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

void CloseCon(BSTR a, LONG b); 
+0

私も試してみましたCloseCon(VARIANT *、LONG B)とDISP_FUNCTION_ID(CCSDS_CommunicationCtrl、 "CloseCon"、eventidConfigCon、CloseCon、VT_BOOL、VTS_VARIANT VTS_I4)を試してみて、それがあまりにも働いてください – Jeeva

関連する問題