在VC中调用脚本能返回值吗

解决方案 »

  1.   

    m_ctlScript.SetLanguage(_T("JAVAScript"));//VBScript is OK
    _variant_t var = m_ctlScript.Eval("20;");
    int a = var.intVal;
      

  2.   

    看IDL语法,在[our,retval]中,就可以定义返回值了
      

  3.   

    [our,retval]应该是笔误吧:
    [out,retval]
    不过搂主说的是VC中调用脚本而不是脚本中调用VC的com组件
      

  4.   

    m_ctlScript.SetLanguage(_T("JAVAScript"));//VBScript is OK
    _variant_t var = m_ctlScript.Eval("20;");
    int a = var.intVal;
    这不一样用阿
    m_ctlScript.Eval("youVar = 100;")//这样,这个变量在脚本里面就赋值了,注意先定义。
    _variant_t var = m_ctlScript.Eval("youFunc();");//youFunc()能返回int类型
    int a=var.intVal;
      

  5.   

    m_ctlScript.SetLanguage(_T("JAVAScript"));//VBScript is OK
    m_ctlScript.Eval("function youFunc(youInt){return (youInt);}");
    _variant_t var = m_ctlScript.Eval("youFunc(10)");//youFunc()能返回int类型
    int a=var.intVal;