你可以先将那个单元用记事本打开!!
仔细查看一下里面有没有不合法的代码!!
如果没有!!!
我想那也只有再新做一个报表了!!!
我认为你的那个报表是调用了什么系统函数,或是非法的连接了涉及到Delphi的动态连接库,你仔细检索一下!!!

解决方案 »

  1.   

    是不是在delphi6里面的啊!我也试过,在那个每个窗体里面都有一个备份的
    扩展名  .~dfm你把它还原就可以了!
      

  2.   

    看看你的报表表单的数据源是否存在或正常以前我有个表单也类似这种情况,因为数据源对应的数据库被移到另外一个地方了,导致打开那个表单Delphi就自动关掉
      

  3.   

    我想是因为你的窗体中的ADOQUERY或TABLE或DATESET之类的ACTIVE属性为TRUE造成的,用DELPHI打开窗体文件。DFM,然后将该属性改为FALSE。
      

  4.   

    Pas如下:unit Report;interfaceuses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs, DB, ADODB, QRCtrls, QuickRpt, ExtCtrls;type
      TReportFrm = class(TForm)
        Rep: TQuickRep;
        qry: TADOQuery;
        QRSubDetail1: TQRSubDetail;
        QRLabel1: TQRLabel;
        QRLabel2: TQRLabel;
        QRShape1: TQRShape;
        QRDBText1: TQRDBText;
        QRLabel3: TQRLabel;
        QRLabel7: TQRLabel;
        QRDBText2: TQRDBText;
        QRDBText5: TQRDBText;
        QRLabel5: TQRLabel;
        QRLabel6: TQRLabel;
        QRDBText6: TQRDBText;
        QRLabel10: TQRLabel;
        Content: TQRMemo;
        QRLabel9: TQRLabel;
        QRDBText7: TQRDBText;
        QRLabel8: TQRLabel;
        QRDBText4: TQRDBText;
        QRDBText3: TQRDBText;
        QRLabel4: TQRLabel;
        QRLabel11: TQRLabel;
        QRDBText8: TQRDBText;
        procedure QRSubDetail1NeedData(Sender: TObject; var MoreData: Boolean);
      private
        { Private declarations }
      public
        { Public declarations }
      end;var
      ReportFrm: TReportFrm;implementation
    uses MDM;{$R *.dfm}end.
      

  5.   

    呵呵,有没有看明白呀,人家是需要你贴 .DFM 的内容出来
      

  6.   

    双击你的.DFM文件(注意,不是工程。DPR,也不是UNIT。PAS),将TADOQUERY的
    ACTIVE属性改为FALSE;
      

  7.   

    说的也是 outer2000(天外流星
      

  8.   

    大概是你的AdoQuery 或AdoTable Active=True 的原因,这是个Delphi6的bug,你可以下载它的补丁来解决这个问题,也可以通过Frm文件中将Active设置为False就ok了
      

  9.   

    大概是你的AdoQuery 或AdoTable Active=True 的原因,这是个Delphi6的bug,你可以下载它的补丁来解决这个问题,也可以通过Frm文件中将Active设置为False就ok了