Delphi 的奇异之处!!!送100分,大家来看看!!!!

natrium11 2001-05-29 07:07:00
今天下午我用DELPHI编五子棋的估值函数,于是有了下面一幕:

我用了一个判断语句,其条件明明是TRUE(调试器和推理一致),可控制硬是转到ELSE里去了!!!!这也是众网友经常提到的一个离奇的“BUG”,又被我碰上了!!!!

一个小时后,已近乎昏迷的我终于发现了一个错误(程序的一个小小的逻辑错误,很不起眼,且与那个判断语句无直接联系),改过后,一切问题都解决了!!!!!

DELPHI在戏弄了我一个小时后居然帮助我发现了一个本来恐怕永远也无法发现的内在错误!!!!!

但是这一切究竟是怎么回事呢?这个错误为什么会导致判断语句的错误呢??难道是优化?但我在那一个小时中早想到了这一点,关掉了优化选项后问题依然。

我原来也碰过类似的错误,这下我知道了,那一定又是我的错!

可我搞不懂,这一切是怎样发生的?

我越来越崇拜DELPHI了,他居然能帮我发现逻辑错误!!可为什么是以这种离奇的方式??

我只知道,如果他能直接指出错误就更好了。
...全文
396 47 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
47 条回复
切换为时间正序
请发表友善的回复…
发表回复
clacklin 2001-05-31
  • 打赏
  • 举报
回复
我当然是相信delphi,在这里是想与大家讨论为什么会出现这种情况的。
PINGR 2001-05-31
  • 打赏
  • 举报
回复
的确有意思!~~~~
wangxd1976 2001-05-31
  • 打赏
  • 举报
回复
我把这个贴子从头到尾看了一遍,就我个人的意见,总结一下:
如果出现问题,相信delphi,你的代码有问题,这样可以比较快的发现错误。
clacklin 2001-05-31
  • 打赏
  • 举报
回复
这是你是程序不会执行到这里吧,这是废代码。
to Nicrosoft(奈软),我是循环是与逻辑有关的,对我程序的影响很大。
hks 2001-05-31
  • 打赏
  • 举报
回复
有时候Delphi4突然不让我设置断点,编辑器右部标志每行源代码可执行的小点也没有了,
这是我的问题吗?如果是,该怎样解决呢?
joki 2001-05-31
  • 打赏
  • 举报
回复
有一回用Delphi一不小心往内存写了一个大字符串,结果从此Delphi的控制顺序就乱了,最后重装才解决。
除此之外的编译器错误没遇到过
natrium11 2001-05-31
  • 打赏
  • 举报
回复
ImFool 2001-05-31
  • 打赏
  • 举报
回复
同意GoodHope(好望角)
碰到过VCL的Bug,从未遇到Delphi编译器出错。
natrium11 2001-05-31
  • 打赏
  • 举报
回复
同意clacklin(海风):

我就是想知道为什么才开这个帖子的嘛!!!
大家都不知道吗????
GoodHope 2001-05-30
  • 打赏
  • 举报
回复
to: natrium11
我从Delphi1到Delphi5,只碰到过VCL的Bug,从未遇到Delphi编译器出错。建议好好检查自己的代码。

to: clacklin
虽然i的值是到过来,但是引用i的时候,Delphi会自动调整过来,就像tangliang说的那样,不会有问题。不信你看CPU窗口中的代码。有一种情况是例外,在内嵌汇编中引用i。
Nicrosoft 2001-05-30
  • 打赏
  • 举报
回复
关于 For 循环的问题,delphi的编译器判断如果循环顺序与逻辑无关,就会优化成 4 downto 1之类的,没有关系的。
c_hk 2001-05-30
  • 打赏
  • 举报
回复
怎么会呢?我怎么从没遇见过?
natrium11 2001-05-30
  • 打赏
  • 举报
回复
To snjun(delphiyang):

What do you mean,please?
clacklin 2001-05-30
  • 打赏
  • 举报
回复
后来我的解决办法嘛,就是不用它,而连续写六行代码。:)
如:
i:=0;
....
inc(i);
...
kylix2001 2001-05-30
  • 打赏
  • 举报
回复
To clacklin(海风) & natrium11(我是一只小小小小鸟) :
我也出现过for i:=1 to 4 do,从4降到1 !!!这种情况。
巴我弄得头都大了好几圈。后来你们是怎么解决的啊??


和码帮主 2001-05-30
  • 打赏
  • 举报
回复
To clacklin(海风) 我也出现过for i:=1 to 4 do,从4降到1 !!!这种情况,当时我没在意,因为程序运行一切正常。关注
Muf 2001-05-30
  • 打赏
  • 举报
回复
有可能是内存溢出影响了其它变量引起的。
Kingron 2001-05-30
  • 打赏
  • 举报
回复
不要怀疑,一定是你的程序的条件有问题,我就说这么多.

你应该相信,是你错了,而不是Delphi,我的程序出现问题的时候,我都是这么想的.
AccEss 2001-05-30
  • 打赏
  • 举报
回复
高手加我的QQ啊!!我有一箩筐问题要问呢!!
snjun 2001-05-30
  • 打赏
  • 举报
回复
注意“;”
加载更多回复(27)

5,927

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧