发现一个很怪的问题.
这里在函数里的最后的代码.
当st大于等于零时delphi7.0里面竞然会去执行exit;
而在end;后面再加一点代码它就又会正常的执行。
if st<0 then
  begin
    result:=false;
    exit;
  end;

解决方案 »

  1.   

    to juror (绝望生鱼片) 你是不是pmcc 的.
      

  2.   

    重启DELPHI、计算机,或重装DELPHI
      

  3.   

    我试了N遍。把end后面的代码加上又删除。
      

  4.   

    还有它在执行exit前不会执行  result:=false;
      

  5.   

    晕if st<0 then
      begin
        result:=false;
        exit;
      end;这个在函数的最后几行
    如果st>=0
    它当然就直接退出了!但是绝对不是执行的你条件中的exit!脑子稍微慢一点,就让你给饶进去了这个可以作为脑筋急转弯了
      

  6.   

    而在end;后面再加一点代码它就又会正常的执行。还有它在执行exit前不会执行  result:=false;哈哈哈,笑死我了
      

  7.   

    哈哈,你们这帮银,,我第一眼就看出来了,
    楼主在耍你们呢,,hoho
      

  8.   

    最酷的搜索引擎“一搜”在免费抽奖,点下面链接支持我一下,谢谢
    我送你一次免费抽奖机会,有500台MP3,500台U盘,一起来玩吧
    http://happy.yisou.com/i.html?f=eac%21%13%3C%23%27Q%17+89tMh&t=1
     
      

  9.   

    这是borland的一个彩蛋,你把“exit”改称“I_want_to_see_beauty_in_her_skin”就马上可以实现这个愿望
      

  10.   

    在begin和end之间加断点,或者加showmessage().看看到底执行没有!
      

  11.   

    楼主我同情你,我相信你遇到的情况是真的,因为我也遇到过类似的情况。
    下面跟你分享一下我的心得体会:
     1.你过度相信Delphi的调试器了。它不是什么时候都能正确的位置返回变量的正确状态值,这一点很重要。
     2.这是垃圾代码的典型表现,程序中出现了Memory leak,冲掉了你的st值,或者更极端一点,正在执行的代码不是你在调试器中看到的,一切全乱了。就像楼上那位说的,建议你在重启机器后再来做跟踪,如果一切如旧,那就凭运气跟经验了。祝luck.
      

  12.   

    这是真的,我也碰上过,重起DELPHI后就正常了。我用的也DELPHI7。