这个是delphi的bug嘛??我晕了。

这个是delphi的bug嘛??我晕了。 VCL组件开发及应用
http://www.delphi2007.net/DelphiVCL/html/delphi_20061223145902165.html
for   iLen   :=   0   to   sNetDrivers.Count   -   1   do  
              begin  
                  for   idrv   :=   0   downto   24   do  
  这样一个两层循环:  
  设置断点调试:  
  第一次执行的时候idrv的值居然是24,  
   
  然后改成这样:  
    for   iLen   :=   0   to   sNetDrivers.Count   -   1   do  
              begin  
                  for   idrv   :=   24   downto   0   do  
  第一次后,   idrv的值居然是-25  
   
  晕了。.

写错了点,应该是这样的:  
   
  for   iLen   :=   0   to   sNetDrivers.Count   -   1   do  
              begin  
                  for   idrv   :=   0   to   24   do  
  这样一个两层循环:  
  设置断点调试:  
  第一次执行的时候idrv的值居然是24,  
   
  然后改成这样:  
    for   iLen   :=   0   to   sNetDrivers.Count   -   1   do  
              begin  
                  for   idrv   :=   24   downto   0   do  
  第一次后,   idrv的值居然是-25  
   
  晕了。.  
 

正常不是Bug是编译时优化开关打开的原因。  
  因为你没有用到循环变量的值,所以它是几对你来说不重要。  
  如果引用了循环变量,它的值会是正确的。  
  还有如果把编译优化开关关闭,它的值总是会正确的。

你能发现delphi的bug,佩服,哈哈,

转载于:https://www.cnblogs.com/delphi2007/archive/2008/11/18/1335899.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值