有一个模式对话框,就只有一个静态文本控件显示“正在处理...”,要在另一个子进程运行的时候打开,运行结束后关闭。我用的是createprocess调用进程,domodal开打这个对话框。waitforsingleobject等待进程结束,enddialog关闭对话框。这样进程运行结束了对话框还在,我点对话框上的关闭就会出错了,为什么会出现这种情况?有没有更好的方法?

解决方案 »

  1.   

    domodal开打对话框,程序处于等待状态,domodal后的waitforsingleobject不会被执行,直到对话框被关闭.
    在对话框中进行createprocess的处理行不?
      

  2.   

    有没有模式对话框不是用domodal打开的?
      

  3.   

    我在“正在处理...”这个对话框的OnInitDialog中调用createprocess,对话框可以显示,但OnInitDialog函数却没有执行,为什么会这样?
      

  4.   

    你调用了DOMODAL()了没?如果是不可能出现你说的情况啊.说清楚点吧!
      

  5.   

    调用了,OnInitDialog执行了,是OnInitDialog没调用另一个类的变量没成功。class a

      public:
        CString name;
        void OnOpen()
        {
          name = "fly";
        }
    };class b

     protect:
         virtual BOOL OnInitDialog()
         {
           a a;
           a.name         ????这里name是为空,没调用过来????
          }
    }为什么b中的name为空?