本人再MDI的子窗体中使用REPORT MACHINE ,想让REPORT MACHINE 打印完后就自动关闭所在的MDI的子窗体。该怎么写?
self.close放在REPORT MACHINE 的ONAFTERPRINT里,报地址错误,预览也无法进行。
代码如下:
 self.RMReport1.LoadFromFile('rmf\report002.rmf');
                  self.RMReport1.PrepareReport ;
                   self.RMReport1.ShowPreparedReport;

解决方案 »

  1.   

    可以在调用RM时就加入关闭的代码:
    就是说不用在RM中的事件中加,如有一个按纽是用来调用RM打印的,这时候就加入关闭窗口的代码:
            RMReport1.LoadFromFile('rmf\report002.rmf');
            RMReport1.PrepareReport ;
            RMReport1.ShowPreparedReport;
            xxx窗口.close这样在退出RM的窗口时,就会关闭相应的XX窗口
      

  2.   

    我这段是在程序启动时打开RM,而在RM关闭时自动也关闭程序:
    procedure Tmainform.LoadReport(PathStr:string);
    begin
      RMreport1.LoadPreparedReport(PathStr);
      RMreport1.ShowPreparedReport;
      close
    end;
    procedure Tmainform.FormShow(Sender: TObject);
    begin
      if ParamCount>0 then
      begin
        LoadReport(Paramstr(1))
      end;
    end;
    另外,如果你是调入RMF文件时,应该用RMreport1.ShowReport;而RMreport1.ShowPreparedReport;是用于调入保存好的RMP文件的。
      

  3.   

    用RMreport1.ShowReport
    报表一闪而过,没有预览,怎么回事?
      

  4.   

    上www.delphireport.com.cn上问吧。
    RMreport1.ShowReport前要先调入RMF文件。