#include "stdafx.h" #include "StringTableLoader.h" namespace util { TCHAR StringTalbeReader::m_MessageChash[max_message] = {0, }; BOOL StringTalbeReader::m_bInit = false; HINSTANCE StringTalbeReader::m_hInst = NULL; IStringPart* StringTalbeReader::m_pStringPart = 0; DWORD StringTalbeReader::m_dwStrCode = 0; VOID StringTalbeReader::Init( HINSTANCE inst, IStringPart* part ) { if( inst != NULL && part != NULL ) { m_bInit = TRUE; m_hInst = inst; m_pStringPart = part; } } const TCHAR* StringTalbeReader::GetString( DWORD stringCode ) { if( m_hInst ) { if( m_dwStrCode != stringCode ) { int strNum = m_pStringPart->GetCode() + stringCode; ZeroMemory(m_MessageChash, max_message); ::LoadString( m_hInst, strNum, m_MessageChash, sizeof( m_MessageChash)); m_dwStrCode = stringCode; } return m_MessageChash; } return NULL; } }