• 締切済み

連続してダイアログを表示したい?

VC++6.0を使用しています。 以下のようなコードでダイアログを連続して表示しようと思っています。1番目のダイアログを表示してOKボタンを押下後(このときこのダイアログは消えて)、2番目のダイアログを表示したいと思っているのですが2番目が表示できません。(1番目のところをコメントにすれば2番目は表示できます。)どうして2番目のダイアログが表示できないのでしょうか? // 1番目のダイアログ   CTest1Dlg dlg;   m_pMainWnd = &dlg;   int nResponse1 =dlg.DoModal(); // 2番目のダイアログ   CTest2Dlg dlg;   m_pMainWnd = &dlg;   int nResponse2 =dlg.DoModal(); //   if (nResponse1 == IDOK) {   :以下省略 これだけの情報でアドバイスができますでしょうか? すみません。よろしくお願い致します。

みんなの回答

  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.1

同じ変数名を使っているから?

MunyaMunya
質問者

お礼

早速のアドバイスありがとうございます。 2番目のダイアログのdlgをdlgXと別の変数名に変更してもエラーになるようです。

MunyaMunya
質問者

補足

m_pMainWnd = &dlgがよくなかったみたいです。しらべてみたら、m_pMainWndはスレッドのメンバーで1番目のダイアログが消えるとメインスレッドが終了してしまうようです。そこで1番目のm_pMainWndを   CWnd* m_pMainWndA = &dlg; とすることで解決しました。 大変失礼しました。

すると、全ての回答が全文表示されます。

関連するQ&A