程序里面的reportmachine运行的时候总是跳出来access violation错误,也不是每次跳出来,并且出现的时候都是预览报表几秒钟后,无法跟踪到什么代码哪里出错,我用的是delphi7,不知道各位能不能给点好的办法,
高级版本的delphi能不能象vs一样提示实例没有初始化这种错误?

解决方案 »

  1.   

    一般都是指针或地址错误引起的,我一般通过调试和LOG来进行分析。
    其它分析方法请楼下回答。
      

  2.   

    意思是你要访问的地址的内容不存在了,所以才报。
    举个例子来说就是邮递员要给你送邮件,结果寄信的地址没错,不巧的是你搬家了,那么这个地址就对应不上你的真正的家庭地址,就会报告AV错误了。产生的原因有几种,一种是对象的实例创建了,但是再次访问之前,实例被释放了,自然就访问不到了。
    另外一种是实例根本就不存在。还有一种就是被反复释放,那么也会报告AV错误。解决的方法,就是跟踪实例的生命周期,看看从哪里产生,在哪里销毁的。
    如果是别人的代码,要看你元件安装的路径和源码的路径是不是一致的。