描述:
语法文件: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"
解决方案1:
up~
您可能想查找下面的文章:
- ATL编写的ActiveX插件中调用GetOpenFileName函数无法弹出文件选择对话框
- 如何用OPENFILENAME生成定制的对话框?
- VC操作Excel,如何获得OLEObjects,以及OLEObjects的name
- 如何利用GetOpenFileName只打开一个窗口
- vc60optionalpropertyname在哪里,没找到???????
- ATL//这个类CComModule_Module干吗使的?
- 知道一个进程的ID/HANDLE/FileName,怎么取得它在内存中的映像文件地址?!
- GetOpenFileName,为啥创建4个线程?
- 关于GETMODULEFILENAME()
- 当我编译了FindMinc成功后,在progect中-->setting-->Link在Outputfilename中