2009-07-26 28 views
1

このエラーが発生する理由はわかりません。ここでは、関連するコードは次のとおりです。ビットマップリソースへのアクセスがエラーコード0x716で失敗する

//////////////////////// In resource.h /////////////////////////// 
//{{NO_DEPENDENCIES}} 
// Microsoft Visual C++ generated include file. 
// Used by Freestyle.rc 
// 
#define IDB_BITMAP1      101 

// Next default values for new objects 
// 
#ifdef APSTUDIO_INVOKED 
#ifndef APSTUDIO_READONLY_SYMBOLS 
#define _APS_NEXT_RESOURCE_VALUE  102 
#define _APS_NEXT_COMMAND_VALUE   40001 
#define _APS_NEXT_CONTROL_VALUE   1001 
#define _APS_NEXT_SYMED_VALUE   101 
#endif 
#endif 

//////////////////////// In the resource file //////////////////// 
// Microsoft Visual C++ generated resource script. 
// 
#include "resource.h" 

. 
. 
. 

///////////////////////////////////////////////////////////////////////////// 
// 
// Bitmap 
// 

IDB_BITMAP1    BITMAP     "NOP.bmp" 


//////////////////////// In DllMain: ///////////////////////////// 
// Save the global module we're attached to other files can access it. 
g_hLocalModule = hModule; 

UnsafePrintToLog(SIMPLE_FORMAT_STRING, "Starting session..."); 

// Display the splash screen. 
CSplash splashScreen(IDB_BITMAP1); 


//////////////In CSplash::CSplash(WORD resourceID) ////////////// 
BitmapSplash = LoadBitmap((HINSTANCE)g_hLocalModule, MAKEINTRESOURCE(resourceID)); 

if(BitmapSplash == NULL) 
{ 
    volatile int temp = GetLastError(); 
    Exit("Could not load the splash screen bitmap."); 
} 

答えて

1

DLLまたはDLLをロードしたアプリケーションでロードしようとしているビットマップリソースはありますか?

DLLにリソースをロードする場合、ソースが2つあります。その理由はhInstanceパラメータが重要な理由です。

DllMainから取得するHINSTANCEパラメータを使用することは、リソースがDLLの一部であることを意味します。リソースがアプリケーションあなたのDLLをロードに配置されている場合

、あなたはLoadResource()の最初の引数としてでNULLを渡すことができ、およびアプリケーションのリソースが検索されます。 LoadResourceのドキュメントから

HMODULEがNULLである場合は、システムの負荷が 現在のプロセスを作成するために使用されたモジュールからリソース。

希望するものがあります。

-Scott

0

エラー0x716が意味:

ERROR_RESOURCE_NAME_NOT_FOUND 1814 (0x716)

指定されたリソース名がイメージファイルに を見つけることができません。

正しい最初のパラメータをLoadBitmapに渡していますか?

hInstanceは
[中]、実行可能ファイル は、ロードしたいビットマップが含まれているモジュールのインスタンスへのハンドル。

リソースファイルは.resファイルにコンパイルされ、最終実行ファイルに含まれていますか?

+0

1. DllMainによって私に与えられたhInstanceパラメータをLoadBitmapに渡します。 2.はい。それはうまくコンパイルされます。私もバージョン情報がリンクされているので私には分かりますが、それはうまく表示されます。 3.コードを読むと答えられます。 –

+0

LoadBitmapを呼び出す直前に、g_hLocalModuleの値がDllからロードされた値と同じであることを確認できますか? –

+0

はい、私はすでに持っています。 –

関連する問題