SOUI官方论坛

 找回密码
 立即注册
查看: 75|回复: 0

关于LoadSystemNamedResource的返回值

[复制链接]
  • TA的每日心情
    奋斗
    2022-7-4 09:45
  • 签到天数: 28 天

    [LV.4]偶尔看看III

    58

    主题

    586

    帖子

    5418

    积分

    版主

    Rank: 7Rank: 7Rank: 7

    积分
    5418

    突出贡献优秀版主

    发表于 2022-5-18 16:31:04 | 显示全部楼层 |阅读模式
    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;
    }

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    QQ|Archiver|手机版|小黑屋|SOUI官方论坛

    GMT+8, 2024-3-29 00:14

    Powered by Discuz! X3.4

    Copyright © 2001-2021, Tencent Cloud.

    快速回复 返回顶部 返回列表