这个是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
晕了。.
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,佩服,哈哈,
结