以前、下のような質問をさせていただいたものです。
http://oshiete1.goo.ne.jp/kotaeru.php3?q=1748227
EXE(実行形式)で既にあるプログラムをDLLとして移植したいのですが、うまくいきません。うまくいかない事象は上のページで質問しましてまだ解決しておりません。(ウインドウ内にCreateDialogを用いてダイアログを表示させようとしても表示されない)
実行形式で組まれたプログラム(ソース)をDLLに移植する時の一般的な方法、注意すべきところ、そのままソースを移植してもダメな理由(EXEとDLLの違い)などありましたら教えてください。同じようなことをした経験のある方など、よろしくお願い致します。
No.3ベストアンサー
- 回答日時:
ダイアログのリソースがDLLにないのに、DLLのインスタンスを渡してもリソースが見つかるはずがないので、リソースのある方のインスタンスハンドルを渡さないとだめですよね。
リソースはどちらにありますか。
リソースがどちらにもないのに、いずれかのインスタンスを渡してもリソースが見つかるはずがないので、リソースをいずれかに追加しないとだめですよね。
リソースは追加されていますか。
リソースのIDが異なっているのに、そのIDで探しに言っても正しいリソースが見つかるはずがないので、正しいリソースハンドルを使わないとだめですよね。
追加しているリソースのIDは、ヘッダのものと一致していますか。
(EXEとDLLは別プロジェクトになりますが、正しく一致していますか)
この回答への補足
>追加しているリソースのIDは、ヘッダのものと一致していますか。
一致しているのですが、表示されません。よろしくお願い致します。
No.2
- 回答日時:
hInstance に渡されているハンドラは「誰の」ハンドラですか?
ExeからDLLをロードした場合、ExeのハンドルとDLLのハンドルは違うのですが、どちらを渡していますか。
そして、対象ダイアログのリソースを持っているのは、
ExeとDLLのどちらですか。両者は一致していますか。
# あっていると思っても、ためしに別のハンドルを渡してみたら表示されたりしませんか。
No.1
- 回答日時:
以前の質問に対する回答でほぼ解決できそうに見えますが、#3の方のご指摘などは確認されてますか?
> 実行形式で組まれたプログラム(ソース)を
-- snip --
> よろしくお願い致します。
リソースなどを参照する際のインスタンスが異なる、
スレッドが違う、など。
たぶん、具体的なコードを提示してもらった方が早いです。
この回答への補足
具体的にコードを出そうと思います。
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が見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- ノートパソコン .dllファイルがありませんと表示される 5 2023/04/30 03:03
- その他(OS) OBSが起動できません 3 2022/03/30 12:21
- 宇宙科学・天文学・天気 銀河のハビタブルゾーンを確率的セルオートマトンという数値的にシミュレーションした結果、「群島」の様な 2 2023/06/06 23:10
- その他(プログラミング・Web制作) IT初心者です 仕事で、vb.netで作成されたdllをvbaで呼び出すプログラムを作成しろと言われ 1 2023/03/27 08:22
- 政治 臓器移植の法律はアメリカと同じにするべきではないですか? 2 2023/02/11 14:03
- Windows 10 IT初心者です! powershellで以下のようなエラーが出ました オブジェクト参照がオブジェクト 1 2023/05/17 11:30
- 不妊 不妊治療で胚盤胞2個移植 1 2023/04/10 17:27
- フリーソフト cygewf-2.dllがない、と表示され、ダウンロードしたファイルが動作しない 2 2023/03/27 11:05
- Excel(エクセル) Excelのマクロについて教えてください。 4 2022/05/31 14:07
- PowerPoint(パワーポイント) ExcelのVBAコードについて教えてください。 3 2022/05/25 14:32
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
プログラミング、アーキテクチ...
-
Flash ステージに初期配置したM...
-
VB6.0で、フォームから、別のフ...
-
buttonの色を変えたい
-
五芒星は、悪魔崇拝とどういう...
-
photoshopで書いた四角の枠の中...
-
VBScriptでMsgBoxのYesNoボック...
-
ダブルクリックと2回クリックの...
-
VBAユーザーホームテキストボッ...
-
ActionScriptでプルダウンメニュー
-
python ボタンを押すと複数の関...
-
PYTHONのtkinterについて
-
Pythonのtkinterについて
-
改行含むテキストの表示の仕方
-
テキストボックスにセルの値を...
-
マウスクリックした回数がカウ...
-
ムービープレビューでないと動...
-
OpenGLのグラデーションについて
-
スクロール処理(早急にお伺い...
-
画像表示をアルファでフェード...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
プログラミング、アーキテクチ...
-
VB6.0で、フォームから、別のフ...
-
【VB.NET】別Formのボタンが押...
-
フォームの生成と破棄
-
VB6.0のHideのバグ?
-
DataTableの件数を取得したい
-
インスタンスとポインタ
-
ダミーウインドウ
-
Python でシャットダウンのコマ...
-
画像を一定時間ごとに切り替え...
-
CreateDialogについて
-
「Me」を「Form1」にするとエラ...
-
ウインドウハンドルとインスタ...
-
背景画像が拡大縮小しつつ、大...
-
EXEからDLLへ移植
-
Flashの画面をJPEG画像にしてメ...
-
携帯Lite1.1用のプログラム
-
new演算子について教えていただ...
-
getURLでの変数の渡し方
-
【ActionScript】コンボボック...
おすすめ情報