• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:EXEからDLLへ移植)

EXEからDLLへの移植について

このQ&Aのポイント
  • EXEからDLLへの移植方法や違いについて教えてください
  • EXEをDLLに移植する際に注意すべきポイントはありますか
  • EXEからDLLへの移植に関する経験のある方、アドバイスをお願いします

質問者が選んだベストアンサー

  • ベストアンサー
  • MrBan
  • ベストアンサー率53% (331/615)
回答No.3

ダイアログのリソースがDLLにないのに、DLLのインスタンスを渡してもリソースが見つかるはずがないので、リソースのある方のインスタンスハンドルを渡さないとだめですよね。 リソースはどちらにありますか。 リソースがどちらにもないのに、いずれかのインスタンスを渡してもリソースが見つかるはずがないので、リソースをいずれかに追加しないとだめですよね。 リソースは追加されていますか。 リソースのIDが異なっているのに、そのIDで探しに言っても正しいリソースが見つかるはずがないので、正しいリソースハンドルを使わないとだめですよね。 追加しているリソースのIDは、ヘッダのものと一致していますか。 (EXEとDLLは別プロジェクトになりますが、正しく一致していますか)

R360
質問者

補足

>追加しているリソースのIDは、ヘッダのものと一致していますか。 一致しているのですが、表示されません。よろしくお願い致します。

その他の回答 (2)

  • MrBan
  • ベストアンサー率53% (331/615)
回答No.2

hInstance に渡されているハンドラは「誰の」ハンドラですか? ExeからDLLをロードした場合、ExeのハンドルとDLLのハンドルは違うのですが、どちらを渡していますか。 そして、対象ダイアログのリソースを持っているのは、 ExeとDLLのどちらですか。両者は一致していますか。 # あっていると思っても、ためしに別のハンドルを渡してみたら表示されたりしませんか。

R360
質問者

補足

DLLのハンドルです。 両者が一致しているかはわかりません。(すみません)

  • MrBan
  • ベストアンサー率53% (331/615)
回答No.1

以前の質問に対する回答でほぼ解決できそうに見えますが、#3の方のご指摘などは確認されてますか? > 実行形式で組まれたプログラム(ソース)を -- snip -- > よろしくお願い致します。 リソースなどを参照する際のインスタンスが異なる、 スレッドが違う、など。 たぶん、具体的なコードを提示してもらった方が早いです。

R360
質問者

補足

具体的にコードを出そうと思います。 extern "C" int WINAPI IOPI_Init(HINSTANCE hInstance, HWND hRootWnd, HWND hParentWnd) { … hAppModule=(HMODULE)hInstance; …  HWND hDlgWnd = ::CreateDialog(   hAppModule,   MAKEINTRESOURCE(IDD_DIALOG1),   hWnd,   (DLGPROC)MyDlgProc); … 以上、このようなところです。よろしくお願い致します。

関連するQ&A