我在dll中创建了一个窗体,上面放置了一个报表,在不同的模块进行调用
我在窗体的OnShow时间中设置了报表并预览,
现在想在预览后直接关闭窗体,却发现报表关闭后窗体却没有关闭,试了很久没找到办法
请大家帮忙找个解决的办法,谢谢!onshow事件的代码:
QuickReport1.Priview;
frm1.Close();

解决方案 »

  1.   

      在 create  裏寫,不要在  SHOW裏寫。
      

  2.   

      QuickReport1.Priview; 
      FreeAndNIl(frm1);
      

  3.   

    写在create也不行,一样的结果,窗体还是不能关闭
      

  4.   

    有沒有在ONCLOSE裏寫其它代碼??
      

  5.   

    QuickReport1.PreviewModal;   
      

  6.   

     這樣試下看看。太久沒有用QUICKREPORT了。 :)
      

  7.   

    放在create事件中,可以关闭了
    不过又有了一个新的问题,我在create事件中需要操作两个ado控件来给报表提取数据,但是在create事件中执行这样的语句就失效了
    with adoT0101 do
      begin
        Close;
        CommandText := 'select * from t_0101 where rkdh='''+rkdh+'''';
        Open;
      end;
      with adoT0102 do
      begin
        Close;
        CommandText := 'select * from T_0102 where RKDH='''+rkdh+'''';
        Open;
      end;
      

  8.   

    哈哈,解决了,
    把代码写在show事件中,然后用FRM1.FREE
    这时会报错,就用了这样的办法,蒙混过关:)
      try
        PrintRKD;
        frmPrintRKD.Free;
      except
      end;