语法文件:CmdCtrl.xml
<GRAMMAR LANGID="804">
<DEFINE>
<ID NAME="CMD" VAL="10"/>
</DEFINE>
<RULE NAME="COMMAND" ID="CMD" TOPLEVEL="ACTIVE">
<L>
<P>关闭程序</P>
</L>
</RULE>
</GRAMMAR>
成员函数:
HRESULT CSREngine::LoadCmdGrammarFromFile(CString XMLFileName)
{
HRESULT hr = S_OK ;
if (!m_cpCmdGrammar)
{
hr = m_cpRecoCtxt->CreateGrammar(GID_SRCMD_CN, &m_cpCmdGrammar);
if( FAILED(hr) )
{
MessageBox(NULL,"Error CreateGrammar","Error",MB_OK);
return hr;
}
WCHAR wszXMLFile[20]=L"";
MultiByteToWideChar(CP_ACP, 0, (LPCSTR) XMLFileName , -1, wszXMLFile, 256);
hr = m_cpCmdGrammar->LoadCmdFromFile(wszXMLFile,SPLO_DYNAMIC);
if (FAILED(hr))
{
MessageBox(NULL,"Error LoadCmdFromFile","Error",MB_OK);
return hr;
}
}
return hr;}
*****************************************************************************************调用:
hr=m_SREngine.LoadCmdGrammarFromFile("CmdCtrl.xml");
为何会出现下面的错误:
"Error LoadCmdFromFile"
<GRAMMAR LANGID="804">
<DEFINE>
<ID NAME="CMD" VAL="10"/>
</DEFINE>
<RULE NAME="COMMAND" ID="CMD" TOPLEVEL="ACTIVE">
<L>
<P>关闭程序</P>
</L>
</RULE>
</GRAMMAR>
成员函数:
HRESULT CSREngine::LoadCmdGrammarFromFile(CString XMLFileName)
{
HRESULT hr = S_OK ;
if (!m_cpCmdGrammar)
{
hr = m_cpRecoCtxt->CreateGrammar(GID_SRCMD_CN, &m_cpCmdGrammar);
if( FAILED(hr) )
{
MessageBox(NULL,"Error CreateGrammar","Error",MB_OK);
return hr;
}
WCHAR wszXMLFile[20]=L"";
MultiByteToWideChar(CP_ACP, 0, (LPCSTR) XMLFileName , -1, wszXMLFile, 256);
hr = m_cpCmdGrammar->LoadCmdFromFile(wszXMLFile,SPLO_DYNAMIC);
if (FAILED(hr))
{
MessageBox(NULL,"Error LoadCmdFromFile","Error",MB_OK);
return hr;
}
}
return hr;}
*****************************************************************************************调用:
hr=m_SREngine.LoadCmdGrammarFromFile("CmdCtrl.xml");
为何会出现下面的错误:
"Error LoadCmdFromFile"
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货