AxibugEmuOnline/References/VirtuaNESex_src_191105/App.cpp
2024-08-05 17:58:53 +08:00

82 lines
1.7 KiB
C++

//
// アプリケーションサポートクラス
//
#include "VirtuaNESres.h"
#include "App.h"
// _tWinMainからの引数そのまま
HINSTANCE CApp::m_hInstance = NULL;
HINSTANCE CApp::m_hPrevInstance = NULL;
LPTSTR CApp::m_lpCmdLine = NULL;
INT CApp::m_nCmdShow = 0;
// 言語リソースプラグインのインスタンスハンドル
HINSTANCE CApp::m_hPlugin = NULL;
// メインウインドウのウインドウハンドル
HWND CApp::m_hWnd = NULL;
// メインウインドウのメニューハンドル
HMENU CApp::m_hMenu = NULL;
// プログラムのパス(起動時のパス)
CHAR CApp::m_szModulePath[_MAX_PATH];
// エラーストリング(テンポラリ)
CHAR szErrorString[256];
// エラー処理用
INT CApp::m_ErrorStringTableID[] = {
IDS_ERROR,
IDS_ERROR_STARTUP,
IDS_ERROR_UNKNOWN,
IDS_ERROR_OPEN,
IDS_ERROR_READ,
IDS_ERROR_WRITE,
IDS_ERROR_OUTOFMEMORY,
IDS_ERROR_ILLEGALOPCODE,
IDS_ERROR_UNSUPPORTFORMAT,
IDS_ERROR_INVALIDNESHEADER,
IDS_ERROR_SMALLFILE,
IDS_ERROR_UNSUPPORTMAPPER,
IDS_ERROR_NODISKBIOS,
IDS_ERROR_UNSUPPORTDISK,
IDS_ERROR_ILLEGALDISKSIZE,
IDS_ERROR_ILLEGALMAPPERNO,
IDS_ERROR_ILLEGALHEADER,
IDS_ERROR_ILLEGALSTATECRC,
IDS_ERROR_ILLEGALMOVIEOLD,
IDS_ERROR_ILLEGALMOVIEVER,
IDS_ERROR_ILLEGALMOVIECRC,
IDS_ERROR_ILLEGALMOVIEOLD_A,
IDS_ERROR_ILLEGALMOVIEVER_A,
IDS_ERROR_ILLEGALMOVIECRC_A,
IDS_ERROR_NETWORKDISCONNECT,
IDS_ERROR_NETWORKERROR,
0,
};
CHAR CApp::m_ErrorString[ERRORSTRING_MAX][256];
void CApp::LoadErrorString()
{
if( !m_hPlugin )
return;
for( INT i = 0; m_ErrorStringTableID[i]; i++ ) {
LoadString( m_ErrorStringTableID[i], m_ErrorString[i], sizeof(m_ErrorString[i]) );
}
}
CHAR* CApp::GetErrorString( INT nID )
{
for( INT i = 0; m_ErrorStringTableID[i]; i++ ) {
if( m_ErrorStringTableID[i] == nID )
return m_ErrorString[i];
}
return ""; // NULL ストリングとして渡す
}