1. 程式人生 > >在副執行緒中LoadString失敗解決辦法

在副執行緒中LoadString失敗解決辦法

在COM元件中的呼叫函式的開始應該要加上AFX_MANAGE_STATE(AfxGetStaticModuleState()),來切換Module State。當前的resource handle是在Module State中儲存的,LoadString需要這個Resource Handle來知道應該在那個Module中Load resource,不切換就會出現找不到資源的錯誤。正確的程式碼如下:
void MyDllExportedFunc()
{
    AFX_MANAGE_STATE(AfxGetStaticModuleState());
    // ...
}