在运行中点击打印没有显示预览界面,错误日子提示:
Access violation at address 004B990C in module 'CP.exe'. Read of address 0000009D
请问是什么原因呀?

解决方案 »

  1.   

    var
        MyPage: RvClass.TRavePage;
        MyText: RVCsStd.TRaveText;
        Query : TADOQuery;
    begin
      if Printer.Printers.Count<1 then
        begin
          Application.MessageBox('系统没有打印机,请添加打印机!','',MB_OK + MB_ICONEXCLAMATION );
          exit;
        end
      else
        begin
          Screen.Cursor:=crHourGlass;
          try
            vSQL := 'Select * from tablename';
            Query:=CreateQuery(vSQL);
            Query.Open;
            if not Query.Eof then
              begin
                RvDataSetConnection1.DataSet := Query;
                RvProject1.ProjectFile := '..\rep\GInfo.rav';
                RvProject1.Open;
                With RvProject1.ProjMan do
                  begin
                    MyPage := FindRaveComponent('report2.Mainpage',nil) as TRavePage;
                    MyText := FindRaveComponent('Text10',MyPage) as TRaveText;
                    MyText.Text := LabeledEdit2.Text;
                  end;
                RvProject1.ExecuteReport('report2');
                RvProject1.Close;
              end;
            Query.Close;
            Query.Free;
          except
            on E:Exception do g_WriteLog(RightMgr1,pchar(E.Message),'[打印]');
          end;
          Screen.Cursor:=crDefault;
        end;end;