本帖最后由 bcrun 于 2010-08-14 20:55:28 编辑

解决方案 »

  1.   

    看现象感觉是显示内存值的软件影响了被测程序(软件)的运行,导致内存堆值混乱了,引起内存重新分配,原来使用的内存堆未被释放所以不能再取出&H70B387C位置的值。
    可以用个内存释放软件释放后再查看内存值试下。
      

  2.   

    你open了process但没有close。
    process虽然结束了但他的内核对象还在。他的地址空间未释放。
    70B387C这么大的数,可能是DLL中的。
    程序再次运行时,因为此DLL要求rwe权限,所以已有的页不能复用,导致DLL重定位。这只是我的猜测。
      

  3.   

    去掉on error  之类的语句,仔细检查出错的语句。溢出(错误 6)
    当赋值超出目标的限制时,就会发生溢出。此错误有以下的原因和解决方法: 赋值、计算或数据类型的结果的转换太大,以致于不能在变量类型所允许的范围内表示出来。 
    赋值给足够表示值的范围的类型的变量上。给属性的赋值超过属性能接受的最大值。 
    确保赋值适合属性的范围。试图在计算中使用一个数字,并且该数字被强制为一个整数,但是结果超过了整数的范围,例如: 
        Dim x As Long
        x = 2000 * 365   ' 错误: 溢出
    要解决这个问题,请按如下方式键入该数字:    Dim x As Long
        x = CLng(2000) * 365
    详细信息,可选取有问题的项目,并按下 F1 键。
      

  4.   

    谢谢各位大侠的热情帮助,我先去试试看,关于ColdMooon的说法我以前也加过结束代码但结果都是一样的,还是很感谢你哦!