用delphi7做了一个ocx,是用在网页上浏览图片的(实际应用中主要是tif格式的图),但在少数机器上出现了这样的情况:第一次进入该网页时没问题,但之后再调用该网页就出现:“access violation at address in 06913B1A module 'viewimg.ocx'. Read of address 00000000.”的报错。将所有相关的IE窗口关闭,重新开IE窗口登录系统后,第一次OK,之后错误重现。
    请问各位高手,我应该怎样解决这问题,是内存没释放吗?但我已经做了相关的处理的,没有效果。

解决方案 »

  1.   

    多谢soundbug,插件用了一个控件TImageEnView,它提供一个方法Blank来释放内存,我已经做了一个方法调用TImageEnView.
    Blank来释放内存,此方法在网页的onbeforeunload时来调用,我不知道这样处理是否不当,能在ActiveFormDestroy里进行相关的处理吗?
      

  2.   

    哦,多谢sdqhlyf(彩波) ,马上试试,但3721这种流氓好象很难删。
      

  3.   

    机器上没有3721,有google和百度的东西,删除了还是没解决问题
      

  4.   

    多谢boatzm(晓舟)【IUnKnown我真的不知道】(#_#!) ,我确实已经做了释放了,但不知道如何才能确切地起效,请问各位,有哪些注意事项能指点一下吗?
      

  5.   

    ImageEnView.Proc.Clear;
    ImageEnView.Free;
    OCX的窗体.Free;
      

  6.   

    多谢 sunkevin(愚公) ,马上试试!!
      

  7.   

    我独立写的一个方法,由网页上调用释放好象不起效,请问sunkevin,应该在什么事件里加上你的代码呢?ActiveFormDestroy可以吗?
      

  8.   

    应该可以,在ONDESTROY中把ImageEnView所用的资源全部释放。关于ImageEnView的用法可以参考它的DEMO。