VC调用JS

bool CGetWebApp::SetDocument(IDispatch* pDisp)
{
    CHECK_POINTER(pDisp);

    m_spHtmlDoc = NULL;

    CComPtr<IDispatch> spScript = pDisp;

    HRESULT hr = spScript->QueryInterface(IID_IHTMLDocument2,(void**)&m_spHtmlDoc);
    if(FAILED(hr))
    {
        return false;
    }
    return true;
}   

bool CGetWebApp::GetJScript(CComPtr<IDispatch>& spScript)
{
    CHECK_POINTER(m_spHtmlDoc);
    HRESULT hr = m_spHtmlDoc->get_Script(&spScript);
    ATLASSERT(SUCCEEDED(hr));
    return SUCCEEDED(hr);
}

bool CGetWebApp::CallJScript(const CString strFunc, const CStringArray& paramArray, CComVariant* pVarResult)
{
    CComPtr<IDispatch> spScript;
    if (!GetJScript(spScript))
    {
        return FALSE;
    }
    CComBSTR bstrMember(strFunc);
    DISPID dispid = NULL;
    HRESULT hr = spScript->GetIDsOfNames(IID_NULL,&bstrMember,1,LOCALE_SYSTEM_DEFAULT,&dispid);
    if(FAILED(hr))
    {
        return FALSE;
    }
    const int INT_PTR = paramArray.GetSize();
    DISPPARAMS dispparams;
    memset(&dispparams, 0, sizeof dispparams);
    dispparams.cArgs = INT_PTR;
    dispparams.rgvarg = new VARIANT[dispparams.cArgs];
    for( int i = 0; i < INT_PTR; i++)
    {
        CComBSTR bstr = paramArray.GetAt(INT_PTR - 1 - i); // back reading
        bstr.CopyTo(&dispparams.rgvarg[i].bstrVal);
        dispparams.rgvarg[i].vt = VT_BSTR;
    }
    dispparams.cNamedArgs = 0;

    EXCEPINFO excepInfo;
    memset(&excepInfo, 0, sizeof excepInfo);
       CComVariant vaResult;
    UINT nArgErr = (UINT)-1;  // initialize to invalid arg
    
    hr=spScript->Invoke(dispid,IID_NULL,0,DISPATCH_METHOD,&dispparams,&vaResult,&excepInfo,&nArgErr);  //调用js函数

    delete [] dispparams.rgvarg;
    if(FAILED(hr))
    {
        return FALSE;
    }   
    *pVarResult = vaResult;
    return TRUE;
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: vc是指Venture Capital(风险投资),是指投资者将资金投入于有潜力的初创企业或创新项目中,以获取高额回报的一种投资方式。vc不仅提供资金支持,还会向项目方提供战略指导、市场拓展、管理经验等方面的支持,帮助企业实现更快的发展。 在vc投资过程中,经常需要使用http接口调用json。HTTP是一种用于传输超文本的协议,而json是一种轻量级的数据交换格式。通过HTTP接口,投资者可以向初创企业的服务器发送请求,获取关于企业经营状况、财务数据、市场前景等信息,并将这些信息以json格式进行传输。 通过http接口调用json,vc投资者可以实时了解企业的运营情况和财务状况,以便做出更好的投资决策。同时,通过json可以将复杂的数据进行结构化处理,便于投资者进行数据分析和挖掘。投资者可以通过自己搭建的数据分析平台,将从http接口获取的json数据导入到系统中,进行数据处理和建模。这样,投资者可以更好地了解企业的市场定位、盈利模式、用户增长情况等,并根据这些数据进行风险评估和投资决策。 总之,vc投资者通过http接口调用json,可以实时获取企业的关键数据,在投资决策上提供更有针对性的支持。而企业也能通过向vc投资者提供http接口和json数据,展示自身的潜力和价值,从而吸引更多的投资。这种基于http接口调用json的交互方式,能够促进vc投资与初创企业之间的信息流动,进而推动创新与发展。 ### 回答2: VC(Voice Conversion,声音转换)是一种将一个人的语音转换为另一个人的语音的技术。在VC中,可以使用HTTP接口来进行JSON格式的调用。 HTTP接口调用是一种通过网络发送HTTP请求并接收HTTP响应的方式。JSON(JavaScript Object Notation,JavaScript对象表示法)是一种轻量级的数据交换格式,常用于前后端之间的数据传输。 在使用VC的HTTP接口调用JSON时,可以按照以下步骤进行: 1. 构建HTTP请求:使用程序或工具发送HTTP POST请求,指定接口的URL,并设置请求头部,告知服务器发送的数据格式是JSON。 2. 组织JSON数据:在请求体中,构建JSON数据,根据接口的要求填入相应的参数和数值。例如,可能需要指定要转换的语音文件路径、转换目标的人物特征等等。将这些信息以JSON格式组织起来。 3. 发送HTTP请求:将组织好的HTTP请求发送到服务器。服务器接收到请求后,会解析请求体中的JSON数据,并根据其中的参数进行相应的处理。 4. 处理请求:根据请求中包含的参数,服务器进行语音转换的计算和处理。可能涉及到语音信号处理、音素映射、声码器等复杂的算法和模型。 5. 返回JSON响应:服务器将处理结果组织成JSON格式的数据,并将其作为HTTP响应的内容返回给客户端。客户端接收到响应后,可以通过解析JSON数据来获得转换后的语音文件或其他相关信息。 通过VC的HTTP接口调用JSON,可以方便地实现语音转换的功能。这种方式可以让开发者使用自己熟悉的编程语言和工具进行开发,并且可以灵活地将语音转换集成到自己的应用程序中。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值