従来のGUIアプリケーションをVS2012に移行しています。このアプリケーションをデバッグモードで実行しているときに、次のコード行を使用してツールバーをインスタンス化しようとすると、デバッグアサーションが発生します。
if(!m_wndMain.Create(this) || !m_wndMain.LoadToolBar(IDR_MAIN))
MFCコードを調べたところ、bartool.cppで次の行が変更されていることがわかりました。MSVC10->11では次のように変更されています。
if (lpBitmap == NULL)
に:
if ((lpBitmap == NULL) || (lpBitmap->biBitCount > 8))
AfxLoadSysColorBitmapで。私の場合lpBitmap->biBitCount
=24で、これがAfxLoadSysColorBitmap
戻りNULL
、デバッグアサーションが発生します。このデバッグアサーションを回避するためにプログラムの動作を修正する方法について何かアイデアはありますか?