ダイアログが止まってしまいます

解決


ken  2013-04-09 02:29:19  No: 73661

MFCの開発初心者です。
現在MFCでダイアログベースのアプリを作成しているのですが、
ダイアログが止まってしまいます。
詳細としてはスレッドが二つあり

スレッド1
{
   while (1)
   {
      if(m_a==1)
         m_Flag1 = True;
      else if (m_a == 0)
         m_Flag1 = false;
   
            if(m_b==1)
         m_Flag2 = True;
      else if (m_b == 0)
         m_Flag2 = false;
   

      イベントセット 
      sleep(1);    ※
   }
}

スレッド2
{
   while(1)
   {
      イベント待ち
      if (m_Flag1 == True);
         PostMessage (処理A);

      if (m_Flag2 == True);
         PostMessage (処理B);
   }
}

大まかにはこのような処理をやっているのですが、
例外がでて止まってしまいます。
最終的にはAfxInternalPumpMessageで中断されます。

※のsleepの秒数を伸ばすと止まらないのですが、原因がいまいち分かりません。

PostMessageの中の処理が終わる前にまたPostMessageが呼ばれてしまっているのでしょうか?

visual studioを使ったダイアログ開発は初めてなもので足りない情報などありましたら教えてください。お願いします。

開発はvisual studio 2008です


ken  2013-04-09 02:32:22  No: 73662

すみません間違えて二つ質問を作ってしまいましたのでこちらは解決にしておきます


※返信する前に利用規約をご確認ください。








  このエントリーをはてなブックマークに追加