具体情况是这样的。
HINSTANCE g_hRes = LoadLibrary(...);这一步没问题。::LoadBitmap(g_hRes, MAKEINTRESOURCE(IDB_BITMAP));
这一步就有问题了,当第一此调用的时候正确,再调用的时候就返回空,而且此时getlasterr()是87.
我可以确定的是,在第二次调用值钱绝对没有FreeLibrary(g_hRes);
HINSTANCE g_hRes = LoadLibrary(...);这一步没问题。::LoadBitmap(g_hRes, MAKEINTRESOURCE(IDB_BITMAP));
这一步就有问题了,当第一此调用的时候正确,再调用的时候就返回空,而且此时getlasterr()是87.
我可以确定的是,在第二次调用值钱绝对没有FreeLibrary(g_hRes);
我把Whole Program optimazition这个编译选项改为Enable link-time code generation (/GL)了。发生了这个问题。
而我换会NO之后就好了,此之怪也
AfxSetResourceHandle(g_dllInstance); // g_dllInstance为你的资源动态库句柄
// 读取位图
....
AfxSetResourceHandle(save_hInstance);