LoadSystemNamedResource是SOUI加载系统资源的接口,返回一个uint类型,成功则返回0。
由于此前向导在这个函数调用后增加了一个ASSERT来断言为非0, 导致可能运行的时候出现断言。
这是向导的一个BUG,新版本已经修复。
返回值的具体含义参考代码:
[C++] 纯文本查看 复制代码 UINT SApplication::LoadSystemNamedResource(IResProvider *pResProvider)
{
UINT uRet = 0;
AddResProvider(pResProvider, NULL);
// load system skins
{
SXmlDoc xmlDoc;
if (_LoadXmlDocment(_T("SYS_XML_SKIN"), _T("XML"), xmlDoc, pResProvider))
{
SSkinPool *p = SSkinPoolMgr::getSingletonPtr()->GetBuiltinSkinPool();
p->LoadSkins(xmlDoc.root().child(L"skin"));
}
else
{
uRet |= 0x01;
}
}
// load edit context menu
{
SXmlDoc xmlDoc;
if (_LoadXmlDocment(_T("SYS_XML_EDITMENU"), _T("XML"), xmlDoc, pResProvider))
{
SRicheditMenuDef::getSingleton().SetMenuXml(xmlDoc.root().child(L"editmenu"));
}
else
{
uRet |= 0x02;
}
}
// load messagebox template
{
SXmlDoc xmlDoc;
if (!_LoadXmlDocment(_T("SYS_XML_MSGBOX"), _T("XML"), xmlDoc, pResProvider)
|| !SetMsgTemplate(xmlDoc.root().child(L"SOUI")))
{
uRet |= 0x04;
}
}
RemoveResProvider(pResProvider);
return uRet;
}
|