我有一程序,有时关闭了就会出错,但有时不会.
出错提示为:
project Project1.exe raised exception class EAccessViolation message 'Access Violation at address '00499f0d in module 'project1.exe'. read of address 017c462a',process stopped.use step or run to continue.
字面意思应该是说我非法访问了00499f0d地址.这是什么原因呢?
怎么调试呢?
不胜感激.

解决方案 »

  1.   

    程序里有没有用到speedbutton或image,有的话程序退出时释放一下试试
      

  2.   

    这些只能自己调试的http://lysoft.7u7.net
      

  3.   

    退出程序时,把connection关闭掉。
      

  4.   

    这种问题一般感觉上是因为你用的一个对象在退出时被FREE了两次。第二次会报错。
      

  5.   

    就是内存的错误,产生这类问题的原因很多很多。譬如一个空对象,你Free了,或者一个数据越界了,或者缓冲溢出,等等。只能自己调试。跟踪到你的关闭代码,看看是不是释放空指针等。
    如果不是,那看看你的变量有没有溢出的。
      

  6.   

    在关闭事件里写
    action=free
      

  7.   

    90%的可能是什么东西create了,而又没free掉,好好检查一下吧!