写了个activeform(名成为:testX),还有一个普通的QuickReport(名称为:QRForm1),
在testX上有一个按钮,click事件为:
procedure TtestX.button1Click(Sender: TObject);
begin
    QRForm1 := TQRForm1.create(self);
    QRForm1.print;
end;执行时报错:
Access Violation at address 08014C8B in module 'szfa.ocx'. Read of address 00000054.我这样新开一个form没问题,但是报表旧报错.

解决方案 »

  1.   

    以前我也遇到过,我在project-options中将报表的form移到左边后,直接
    用qrform1。print就好了
      

  2.   

    To loader(大伦!加油!):在project-options中怎么移呀?我直接用qrform1.print也报这样的错。
      

  3.   

    呵呵,我的意识是在菜单project-options-forms页面上,将qrform1从Available_forms 中移到 Auto_Create forms 让报表页面在程序运行时自动创建
      

  4.   

    如果还出现错误,那就应该是你数据库的病了,或许是你的报表连接的table 或是
    query没有找到表什么的,都有可能
      

  5.   

    诶呀呀,你把语句换成Qrform1.报表名.print  呵呵,我说呢比如qrform1.quickreport1.print试一下看看
      

  6.   

    同意上面仁兄的意见
     from?.quickreprot?.print;