发信人: hunter__fox(雁回西楼)
整理人: foxzz(2003-07-25 13:59:49), 站内信件
|
C000000005:内存越权访问
有的是因为代码中的些细节做得不够仔细所引起,通过使用标准的语言书写代码,避免一些隐含性的错误可以达到免除这个因素引起的这种错误.
有的是因为系统中一些不稳定的驱动或者病毒引起.这些可以通过安装新驱动和打补丁来解决.
只有较少的C000000005错误是因为VFP内核的原因,在编程中避免使用相应的命令或操作也可以解决这个问题.
近年来我还没有遇到过类似的问题.
在最开始使用VFP时,我遇到过不标准命令引起的C000000005错误,我是通过为每一句加上执行输出来定位语句,前后一共花了3个小时,不停的编译--执行--查看输出文件--修改代码.
后来也遇到过使用外部控件引发的C000000005错误,错误不是发生在VFP代码中,于是用C和VB写控件,并在VFP中调用.专门寻找这个错误的引发原因, 最后发现主要是出现在控件加载或卸载控件(建立对象/销毁对象)时发生,错误在C和VB源代码中也不能定位,它并不是发生在这里面,而是主要发生在Windows内存管理驱动和不能由代码控制的问部分.最内易引发C000000005错误的控件的特点是:多线程.不过,对一些控件进行再次包装后,很多时候能够避免大部分的C000000005错误.
对于驱动的问题,我自己没有遇到过,但看到过别人的程序出现过这样的问题.
我现在习惯于使用功能简单明确的命令来实现任务,虽然代码可能需要多写一些,但错误很少,已经多年没有遇到过C000000005错误了.
【 在 myy 的大作中提到:】
:致命错误C00005?!真要命,查不出原因叫我怎么改啊?!救救我!!
:......
---- 作者:hunter__fox【雁回西楼】
来源:网易虚拟社区广州站 VFP版
|
|