void TestStringTable::testSimple() { Cx_Interface<Ix_StringTable> pIFTable(CLSID_StringTable); ASSERT(pIFTable); pIFTable->LoadFiles(L""); std::wstring value, module, id; ASSERT(pIFTable->GetValue(value, L"StringTable", L"IDS_LOAD_STRFILE")); ASSERT(pIFTable->GetValue(value, L"@StringTable:IDS_LOAD_STRFILE", module, id) && module == L"StringTable" && id == L"IDS_LOAD_STRFILE"); ASSERT(!pIFTable->GetValue(value, L"StringTable", L"XXX")); ASSERT(!pIFTable->GetValue(value, L"XXX", L"XXX")); }
bool Cx_LogManager::CheckMsgParam(std::wstring& msg2, std::wstring& extra2, std::wstring& module, std::wstring& idname, const wchar_t* msg, const wchar_t* extra) { bool ret = false; msg2 = msg ? msg : L""; extra2 = extra ? extra : L""; if (!msg2.empty() && L'@' == msg2[0]) // @Module:IDS_XXX { Cx_Interface<Ix_StringTable> pIFTable(x3::CLSID_StringTable); ret = pIFTable && pIFTable->GetValue(msg2, msg2, module, idname); if (msg2.empty()) { msg2 = idname; } } return ret; }