【发布时间】:2011-03-28 16:11:19
【问题描述】:
在通过 FastMM4 检查和修复程序的内存泄漏后,我终于在另一台 PC 上测试运行我的程序。现在,我收到“范围检查错误”。我花了几个小时在网上研究这个问题,但他们似乎都没有给我我想要的东西。我的程序符合运行时错误选项范围检查。所以,我知道这就是我收到错误的原因,但我需要确切知道引发错误的原因。
该程序是在 XP 上使用 Delphi 7.0 编译的。测试 PC 是 Windows 7。一旦启动,我的程序就开始通过串行端口进行通信,然后出现“范围检查错误”消息框。当我停止串行通信时,没有“范围检查错误”框。这是什么意思,我该如何解决?我正在寻找简单的策略。我知道我可以花几天时间逐行检查。
“范围检查错误”是由不正确的值分配或访问数组的不可访问索引引起的。我对么?
【问题讨论】:
-
能不能在另一台机器上安装Delphi调试一下?
-
更好的是,我正在考虑通过注释掉代码部分并重新编译来缩小有问题的代码行。然后,在 Window 7 PC 上试运行该程序。我知道这会很乏味,但我想我知道这是程序的哪一部分。
-
你为什么不按照我的建议在地图文件中找到违规行?