我遇到了一些問題,因爲Javascript和ActiveX(用C++編寫)都不像一個好孩子。我要求他們做的就是讓Javascript發送一個字節數組,並讓ActiveX正確接收字節數組,以便執行更多計算。從JavaScript發送字節數組到COM的困境
這是我宣佈我的字節數組在JS,我證實這裏面JS:
var arr = new Array(0x00, 0xA4, 0x04, 0x00, 0x10,0xA0, 0x00, 00, 00, 0x18, 0x30, 0x03, 0x01, 00, 00, 00, 00, 00, 00, 00, 00);
的Javascript發送該數組作爲參數傳遞給一個ActiveX方法。這是棘手的部分;我想讓ActiveX方法接收字節數組作爲SAFEARRAY或VARIANT,但我無法讓它爲我的生活工作。
我試過調試,看到收到ActiveX內部的內容SAFEARRAY或VARIANT,但無濟於事。這裏是IDL分段:
[id(7), helpstring("blah blah blah")] HRESULT Blah([in] VARIANT blah1, [out, retval]VARIANT* blah2);
任何幫助,非常感謝。提前致謝!
如果您可以從Javascript創建一個'Scripting.Dictionary'實例,並將值添加到它,Item'屬性將返回元素的'SAFEARRAY'。 – 2018-02-13 05:33:50