线程搅乱messagebox?

线程搅乱messagebox? Delphi / Windows SDK/API
http://www.delphi2007.net/DelphiNetwork/html/delphi_20061213111432135.html
问题现场:(大概意思哈)  
  switch(messagebox)  
  case:mryes  
  {  
                  thread1=new   TMyThread();  
  }  
  case:mrno  
  {  
                  其他的动作;  
  }  
  case:mrcancel  
  exit;  
   
  单步运行这一段,选择yes,程序进入thread1=new   TMyThread(),然后是TMyThread构造函数,然后再按f7/f8,问题就出来了:  
  程序跳到了case:mrno里面开始执行“其他的动作”!*_*~~~~~~~  
   
  怎么回事呢?怎么避免?

UP

没遇到过,估计是CreateThread改变了现场变量。  
  解决方法:  
  1   把   thread1=new   TMyThread();放到一个新的过程里,  
  2   case:mryes   放到最后。  
  3   Tx=messagebox;  
      switch(tx)  
      {...};  
  看看行不行?  
   
 

谢拉,忘写break了

bs   啊,害我死了好多脑细胞。

posted on 2008-10-28 09:54  delphi2007  阅读(217)  评论(0编辑  收藏  举报