现在的位置: 首页 > 综合 > 正文

线程搅乱messagebox?

2012年09月27日 ⁄ 综合 ⁄ 共 561字 ⁄ 字号 评论关闭
线程搅乱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   啊,害我死了好多脑细胞。

抱歉!评论已关闭.