我不知道大家用delphi6制作报表步骤是不是这样的。先创建一个窗体。(一般是自动创建吧)在窗体上放一个quickrep,在设定quickrep上面的东西.....
问题是这样的:如果打印这个窗体我是动态创建的话。在打印预览的时候如果我没有关闭预览窗体,而是最小化的话,那么等于就没有释放这个窗体。
 frm_rpt_yuebb:=Tfrm_rpt_yuebb.Create(self);
  frm_rpt_yuebb.rpt_title.Caption:=cx_yhm.Text+inttostr(cx_year.Value)+'年'+trim(cx_month.Text)+'月份报表';
  frm_rpt_yuebb.QuickRep1.Preview;
  frm_rpt_yuebb.Close;
大家看上面的代码,虽然最后有frm_rpt_yuebb.Close;这一句,我发现如果只是最小化它的话,它不会执行最后一句,就是关闭它。所以如果你总是最小化,就会创建很多它的实列。在关闭程序的时候就会出错。我想的是有没有办法把报表Preview的窗体的最小化按钮去掉。但好象我还没有找到去掉的办法啊。各位大哥有什么好办法吗?

解决方案 »

  1.   

    动态创建?个人觉得没有任何必要啊!!frm_rpt_yuebb.QuickRep1.Preview;//直接这样预览就可以了啊
    预览的窗体不用动态创建的
      

  2.   

    to:-Mrkang(谁比我菜我不愿意) 大哥:我说的动态创建是放报表的那个窗体啊。frm_rpt_yuebb,只是肯定必要的啊。
      

  3.   

    如果窗体关闭了,report还能Preview吗?在这里report是frm_rpt_yuebb一个控件啊,preview关闭之后再关闭frm_rpt_yuebb,个人认为 ,不知道正确与否
      

  4.   

    to:ptpa(古月西西)当然quickrep是frm_rpt_yuebb的一个控件啊。我刚才都说了,如果在preview的时候,不关闭preview窗体,只是最下化,那么frm_rpt_yuebb.close就不执行了。而且我还发现,如果把
    frm_rpt_yuebb.close这句提到frm_rpt_yuebb.QuickRep1.Preview;这句前,依然可以。但还是有别的问题,迷茫中。
      

  5.   

    还在用QuickRep?我觉得那是个烂东西,建议要么用FastReport,要么用ReportBuilder,就是Delphi7的Rave都比那个好。