DLLからリソースを読み込むには?

解決


モグラ  2004-07-18 07:16:59  No: 54026  IP: [192.*.*.*]

はじめまして。
私は今、DLLにMIDIファイルをリソースとして組み込み、そのリソースを読み込んでMIDIを演奏するプログラムを作ろうとしているのですが、DLLからMIDIファイルを読み込む事ができません。
コードの一部を下に書きます。どこか間違っていたら教えてください。お願いします。

/*---MidiDll.c(一部)---*/
HRSRC hRes;
hRes=FindResource(NULL,"MIDIA","MIDI_DAT");
if(hRes==NULL)
    return FALSE;//ここでFALSEが返ってしまう


/*---MidiDll.rc---*/
MIDIA MIDI_DAT DISCARDABLE "myMidi.mid" //myMidi.midはMIDIファイル

編集    削除
YuO  2004-07-18 08:14:02  No: 54027  IP: [192.*.*.*]

FindResourceの最初の引数をちゃんと指定してやる必要があります。
NULLを指定した場合,EXEファイルのリソースを読みにいきます。

あと,関数が失敗したなら,ちゃんとGetLastErrorで原因を調べるべきです。
そのことなしに,デバッグはできないと思いますが……。

編集    削除
モグラ  2004-07-18 08:58:13  No: 54028  IP: [192.*.*.*]

YuO様、ありがとうございます。
モジュールのハンドルを指定したところ、正しく読み込む事ができました。
これからはまずGetLastErrorとFormatMessageでエラーの原因を調べることにします。

編集    削除