你可能是没有将这个组件Free 或 nil掉

解决方案 »

  1.   

    我已经将REPORT所在的窗体FREE掉了
      

  2.   

    将你那个窗体 Form := nil;
    nil 与 free 有很大区别的,看看帮助
      

  3.   

    最好在fee窗体前将report也free。要注意的是,当一个窗体有report时,可能由于report是线程的,所以所在的窗体会与一般的窗体不同,比如在showmodal时,按 预览  运行 report.previewmodal时,该窗体仍然可以访问。所以要注意处理,比如在preview前将窗口设置为disabled,这样可防止快速的连按两下 预览 导致你所说的错误。
      

  4.   

    可能你用了动态产生报表,但用完后没 Free!-----肯定是
      

  5.   

    一个很简单,也实用的方法:
      var i: integer;
      ... 
      QuickRep1.previewmodal;
     
      for i:=screen.forms.count-1 downto 0 do
        if screen.forms[i].name = 'QRStandPreview' then
          screen.forms[i].free;
      

  6.   

    这是QUICK REPORT的一个BUG——内存泄漏;其实你就是FREE以后,只要多重复几遍(由机器配置决定),照样报地址错误;
    建议在做商业程序时,尽量少用QUICK REPORT,直接用WINDOWS下的API函数编写打印程序。我有一个例子,要的话请联系我:[email protected]