MFC如何调用JS代码

OSC首席过客 发布于 2014/04/04 00:12
阅读 1K+
收藏 2
MFC

近排研究MFC调用JS代码,使用这个控件去调用(msscript.ocx),但是调用过程中,总是出出错。

 MFC调用代码:

strJM.Format(_T("passwordEncrypt(%s,%s,%s)"), sP, sUIN, sVC);
vRet = spScript->Eval(_bstr_t(strJM));

JS代码:


function passwordEncrypt(uin,password,C) {


    var I = hexchar2bin(md5(password));


    var H = md5(I + uin2hex(uin));


    var G = md5(H + C.toUpperCase());


  return G
}



提示如下错误:

Unhandled exception at 0x75CF812F in QQGameActivating.exe: Microsoft C++ exception: _com_error at memory location 0x0031EB0C.

求大神们解释 这是什么问题?有没有更好的调用JS代码的方法?


加载中
0
OSC首席过客
OSC首席过客

引用来自“尾鱼头”的评论

SpiderMonkey


我想调用某一个函数,需要如何写代码?给个示例,我网上查了很多资料,没有说具体如何调用某一个函数的

调用C:

jsval res;
JSObject *global = JS_GetGlobalObject(context);
jsval argv[2];
JSScript *script;
JSString *jss;
//new 2 number to pass into the function "add" in script 
JS_NewNumberValue(context, 18.5, &res);
argv[0] = res;
JS_NewNumberValue(context, 23.1, &res);
argv[1] = res;
JSBool status=JS_CallFunctionName(context, global, "add", 2, argv, &res);
jsdouble d;
JS_ValueToNumber(context, res, &d);
printf("add result = %f\n", d);



调用JS:

function add(x, y){ 
    return x + y; 
 } 




0
哪托闹海

你看的例子用问题吧,去看看官方文档,上面有例子,或者看这个链接,中文的

http://www.ibm.com/developerworks/cn/linux/shell/js/js_engine/

返回顶部
顶部