dポイントプレゼントキャンペーン実施中!

CreateDialogをもちいて、表示するダイアログの設定をしています。CreateDialogは、関数が成功するとウィンドウハンドルが返りますが失敗して、NULLが返ってきてしまいます。この失敗について、どのようなことが起こると失敗するか、失敗する理由について教えてください。
実行形式ファイルでは正常でしたが、DLLに移植しようとしてうまくいきません(ダイアログが表示されません)。
コンパイル、リンク時にはこれに関わるメッセージはありませんでしたので、原因究明に困っています。
よろしくお願い致します。

A 回答 (3件)

「ERROR_RESOURCE_NAME_NOT_FOUND」は「リソース名が見つかりません」という意味です。

その意味するところは、指定されたリソース名が見つからなかったということです。

すなわち、CreateDialogの第2引数で指定したリソース名に対応するリソースを、CreateFileの第1引数で指定したモジュールからみつけることができなかったということです。

どんな引数を与えているのか、与えた引数は正しいのか、与えた引数に対応するリソースは本当に存在するのか、よく確認してください。
    • good
    • 0

おそらく


* リソースは EXE から DLL に移植した
* CreateDialog() の第一引数に NULL を設定している
ではないでしょうか?

もしそうだとしたら、CreateDialog() の第一引数を NULL ではなく DLL のインスタンスに変更する必要があります。DLL のインスタンスは DllMain の第一引数をグローバル変数にコピーしたものを使用します。
    • good
    • 0

いろいろな原因が考えられます。



NULLが返ったとき、エラーの詳細はGetLastError関数で取得できますが、その値ではどんなエラーが発生していることになっていますか? 補足願います。(ERROR_RESOURCE_xxxx_NOT_FOUNDあたりかなーと想像しますが。)

この回答への補足

ありがとうございます。
今日中に確認してみますので、少々お時間をください。

補足日時:2005/11/01 08:13
    • good
    • 0
この回答へのお礼

エラーコードを確認しましたが、「ERROR_RESOURCE_NAME_NOT_FOUND」でした。ただ、どのリソース(CreateDialogの送り値)が良くないのかが解りません。いずれのリソース(Bitmap、DIALOG)も作成されていないということはありません(移植する際、IDがおかしくなった?)。そのあたりを解析する方法はありませんでしょうか?

お礼日時:2005/11/01 11:59

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!