运行程序时报错:
  应用程序错误:''ox004ebbbe''指令引用的''oxoooooo28''内存,该内存不能为''read''
Exception EAccessVialation in module xsglxt.exe at 000EBBBE Access Violation at address 004EBBBE in module xsglxt.exe. Read of address 00000028.
在程序中如何管理内存啊为什么总报内存方面的错误

解决方案 »

  1.   

    楼台兄:
      最近我编程序时因为许多报表相似,所以有些单元界面是从其它类似单元中COPY过来的,
    所用的控件也是从其它类似单元中COPY过来,有些报表也是从其它类似报表COPY 过来的。
    是不是这个原因造成了设置中的冲突。
      

  2.   

    这类问题一般是对内存的非法引用
    你可以检验:
    1,是否用了没有创建的类.
    2,指针的使用是否有效
    3,用PChar 时是否先用 GetMem
    ...
      

  3.   

    楼台兄:
    是不是因为我在编程时,用ADOQUERY1:=TADOQUERY.CREATE(SELF)创建控件用完后没有FREE引起的.是不是过段时间后系统会自动释放ADOQUERY1占用的内存,所以过了一个晚上后错误提示消失了程序又能正常运行。不懂啊?
      

  4.   

    ADOQUERY1:=TADOQUERY.CREATE(SELF)创建后,在程序退出时应该可以自动 Free
    我认为在创建时有 Self 参数的,程序退出都可以自动 Free .
    但最好还是手动 Free 好一点. :-)