重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

【GOLF me!】初月無料お試し

こんばんは。
VC++.NETでDLLを作成しました。
内容はダイアログを表示させるだけの単純なもので
DLLの種類はMFC拡張DLLで作成しました。
(CDIALOGを継承したクラスTESTDIALOGのコンストラクタ、デストラクタがあるだけのもの)
これをテスト用の単純なMFCアプリケーションで呼び出したところ
ダイアログを表示させることができましたが
別の複雑なアプリケーション(DLLからDLLを呼ぶなどしている)で
呼び出したところダイアログが表示されません。
コンパイルエラーなどもでないし
何がいけないのか分かりません。
呼び出し側ではメニューにイベントハンドラを作ってそこで
TESTDIALOG dlg;
dlg.DoModal();
としているだけなのですが・・・
(デバッガで追ったところMFCのdlgcore.cppのCDialog::DoModalの
m_lpDialogTemplateNameが不適切なptrとなる辺りに原因はありそうなのですが何故そうなるのかわかりません。)
どなたかダイアログが表示されない原因がお分かりになる方
よろしくお願いします。

A 回答 (1件)

複雑な構成というのがどんなものか不明ですが、


このあたりを調べてもらうと糸口が見えるかもしれません。
・AfxSetResourceHandle
・AFX_MANAGE_STATE
    • good
    • 0
この回答へのお礼

AFX_MANAGE_STATEを調べました。
ダイアログを関数化して
AFX_MANAGE_STEATEを記述
自動作成されたDLLMAINを削除したところ
ダイアログがひょうじされるようになりました(^^)
本当に助かりました。
どうもありがとうございました。

お礼日時:2006/05/12 07:45

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