◀ANSI版開発トップへ
  • 3845 MAX_TYPESを増やしてコンパイルすると
  • [3845] MAX_TYPESを増やしてコンパイルすると りんご 2005年02月20日 16:08

    2005-02-04版のソースを元に
    CShareData.h(47)の MAX_TYPES の値を変更し、
    タイプ別設定を増やして使用したところ、

    CShareData.cpp(4781)の
    strcpy( pShareData->m_Types[nIdx].m_szTypeName, pszTypeNameArr[nIdx] );
    strcpy( pShareData->m_Types[nIdx].m_szTypeExts, pszTypeExts[nIdx] );

    でアクセス違反が発生してしまった為、下記のように変更を行いました。

    const char* pszTypeName;
    const char* pszTypeExt;
    if(nIdx < (sizeof(pszTypeNameArr)/sizeof(char*)))
    pszTypeName = pszTypeNameArr[nIdx];
    else
    pszTypeName = "未定義";
    if(nIdx < (sizeof(pszTypeExts)/sizeof(char*)))
    pszTypeExt = pszTypeExts[nIdx];
    else
    pszTypeExt = "";
    strcpy( m_pShareData->m_Types[nIdx].m_szTypeName, pszTypeName );
    strcpy( m_pShareData->m_Types[nIdx].m_szTypeExts, pszTypeExt );

    MAX_TYPESの値を変えない限り問題が無い部分ですが
    取り込んで頂けると幸いです。