delphi遇“Range check error”越界错误的解决经验分享

昨天也不知修改了编译器Compiler页的什么项,导致软件编译后,大部分操作都提示“Range check error”越界错误。中断后,发现代码停在操作MemoryStream的Write行处,Fuck了!这是正常的操作内存流啊,以前一直正常!

解决过程:

1.尝试新建工程,把原程序中所谓的异常代码(内存流的write句)在这里编译,正常编译运行。。。。。

2.无奈了,只好将原程序中改成StringStream来代替,还要指定编码,正常编译运行。。。。

3.重点:经朋友小梦指点,尝试删除工程下无用文件,果然奏效,用回MemoryStream,正常编译运行。。。。

D的IDE比较烂,所以常要删除 除了Drp、Pas、Dfm、Dcu或rc、inc之外的文件;我是D2007,删除*.dproj、*.res后,程序重新编译,就连过去某些地方弹的“Range check error”越界错误都不再出现了,哇咔咔~~ (另外程序的version等信息也被删除了)

原文地址:https://www.cnblogs.com/KK3228911/p/2976877.html