VC++.NETでMFCアプリを開発しています。
コマンド側から、別のDLLのダイアログをCreateし、ShowWindow()したところで例外が発生します。
コマンド側は通常のDLLで作成し、「staticライブラリでMFCを使用する」で使用し、
ダイアログ側は拡張DLLで作成し、「共有DLLでMFCを使用する」で使用しております。
Create()するところで、コマンドのポインタをダイアログに渡すと例外が発生します。
理由がわかりません。教えてくださいm(__)m
説明が足りなければ補足いたします。
No.1ベストアンサー
- 回答日時:
一番手っ取り早いのは、AfxSetResourceHandle()でダイアログリソースの読みこみ対象をDLLに置き換える。
この回答への補足
AfxSetResourceHandle()を使用して
DLLに置き換えてみましたが、うまく行きません。
//元のインスタンスを取得
m_hBaseInstance = AfxGetResourceHandle();
//MFCの動的接続
AFX_MANAGE_STATE(AfxGetStaticModuleState());
//MFCのインスタンスハンドルを取得
m_hMFCInstance = AfxGetResourceHandle();
とやっているんですが、元のハンドルと新しいハンドルの値が同じになります。
何か他に設定が必要なんでしょうか???
No.2
- 回答日時:
>コマンド側から、別のDLLのダイアログをCreateし、ShowWindow()したところで例外が発生します。
てっきり「別のDLLのダイアログをCreate」って書いてあったんで、「別のDLLがリソースを持つダイアログを」
って解釈で回答しちゃったんですが。
これって、実際にダイアログのCreateメソッドを呼んでいるのはどこですか?呼び元のDLL?呼び先?
>Create()するところで、コマンドのポインタをダイアログに渡すと例外が発生します。
ポインタってなんのポインタですか?
ポインタを渡すと例外って、渡さないと例外が発生しないんですか?
渡すと、渡すだけで例外が発生していますか?
何かの処理をして例外が発生するんですか?
例外が発生する場所は特定できてますか?
あと、呼び元のEXE、それぞれのDLLのビルドタイプはDebugビルド、またはReleaseビルドのどちらかに
統一されていますか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(プログラミング・Web制作) IT初心者です 仕事で、vb.netで作成されたdllをvbaで呼び出すプログラムを作成しろと言われ 1 2023/03/27 08:22
- Windows 10 IT初心者です! powershellで以下のようなエラーが出ました オブジェクト参照がオブジェクト 1 2023/05/17 11:30
- フリーソフト cygewf-2.dllがない、と表示され、ダウンロードしたファイルが動作しない 2 2023/03/27 11:05
- C言語・C++・C# Windows Formアプリからコンソールを呼び出して文字を出力させたい 8 2023/05/09 10:53
- その他(OS) OBSが起動できません 3 2022/03/30 12:21
- Microsoft ASP Windows10エンタープライズ版をインストールしたらアプリが使えなくなった 3 2023/03/07 11:08
- その他(ソフトウェア) UnityのPublishing SettingsでCreate Keyを押しても反応しない 1 2023/06/27 01:03
- MySQL SHOW CREATE TABLE posts;これって何ですか? 3 2022/08/28 22:57
- プリンタ・スキャナー Brother MFC-7460DNの一時停止解除について 1 2022/12/03 12:38
- バックアップ linuxのバックアップ 2 2022/04/27 13:38
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
init関数の意味
-
別のDLLのダイアログを・・・
-
関数ポインタの利点
-
LPSTR型の初期化について
-
デバイスハンドルとは?
-
C言語のポインタに直接アドレス...
-
Run-Time Check Failure #3とい...
-
セグメントエラー
-
参照型で受け取った引数をポイ...
-
C言語でのconstを返す関数
-
C++で関数ポインタから関数名を...
-
戻り値で構造体を返すことは可...
-
CObArrayとCPtrArrayの違い
-
アプリを32bitから64bit移行
-
単方向リスト
-
C++ Builderでのnewコマンドに...
-
構造体とfscanf
-
printfとscanfの違いって・・・
-
構造体の削除について
-
^と*の違いについて
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
セグメントエラー
-
C言語のポインタに直接アドレス...
-
fopne で失敗する原因
-
init関数の意味
-
Run-Time Check Failure #3とい...
-
戻り値で構造体を返すことは可...
-
LPSTR型の初期化について
-
Cで作成したDLL関数をVBから呼...
-
ExcelVBAでのkernel32(64bit)
-
アプリを32bitから64bit移行
-
構造体とfscanf
-
c言語で任意のファイルから読み...
-
デバイスハンドルとは?
-
main(int argc,char **argv[])...
-
基本アルゴリズムの『返す』の...
-
コンストラクタでnewを失敗した...
-
C言語の関数と配列に関する質問
-
参照型で受け取った引数をポイ...
-
ハンドル、アドレス、ポインタ...
-
DLL<->VB間での受け渡し(文字...
おすすめ情報