delphi2007 教程

delphi2007 教程

首页 新随笔 联系 聚合 管理
  1013 Posts :: 0 Stories :: 28 Comments :: 0 Trackbacks
线程搅乱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:56 delphi2007 阅读(188) 评论(0)  编辑 收藏 引用
只有注册用户登录后才能发表评论。