Q&A

  • 퀵레포트 미리보기에서 출력 안되요. 미리보기 화면 제어 가능한지?
델파이 버전 4.0
퀵레포트 3.0.8

세금계산서와 같이 위 아래 출력할려고 2개의 레포트를
QRCompositeReport 를 이용하여 출력하려고 합니다.

퀵레포트 출력시 바로 출력은 정상
미리보기에서의 출력을 누르면 아래와 같은 에러 발생
"♥ 메모리가 할당이 안된 포인터를 사용하였습니다.
♥ 상세내용:
Access violation at address 005290AB in module 'MAIN.exe'. Read of address 00000081"

질문과 답변을 아무리 찾아봐도 명쾌한 답변이 없어서 이렇게 올립니다.
고수님들의 도움 청합니다.

그리고 미리보기를 했을경우
c:\Program Files\Borland\Delphi4\quickrp\qrprev.pas 의 프린트, 프린트 설정 등
버튼 컨트롤 할수 있는 방법은 없는지요?(프린트 버튼을 안보이게 할려고 합니다.)



미리보기 버튼 클릭시
      try
//-- 이부분은 있어도 되고 없어도 똑같습니다.
        rptTax.Free;
        rptTax := nil;

        rptTax2.Free;
        rptTax2 := nil;
//-- 여기까지

         if not Assigned(rptTax) Then
           rptTax := TrptTax.Create(self);

         if not Assigned(rptTax2) Then
           rptTax2 := TrptTax2.Create(self);
// -- 출력인지 미리보기인지 설정
         if RadioButtonPt.Checked then
         QRCompositeReport_Tax.Print
         else
QRCompositeReport_Tax.Preview;

      finally
        rptTax.Free;
        rptTax := nil;

        rptTax2.Free;
        rptTax2 := nil;
      end;



procedure Tdlgrpt.QRCompositeReport_TaxAddReports(
Sender: TObject);
begin
inherited;
QRCompositeReport_Tax.Reports.Add(rptTax.qrPort);
QRCompositeReport_Tax.Reports.Add(rptTax2.qrPort);
end;  
1  COMMENTS
  • Profile
    nilriri™ 2005.07.10 06:25
    http://www.delphi.co.kr/zboard/zboard.php?id=delphiResource

    >델파이 버전 4.0
    >퀵레포트 3.0.8
    >
    >세금계산서와 같이 위 아래 출력할려고 2개의 레포트를
    >QRCompositeReport 를 이용하여 출력하려고 합니다.
    >
    >퀵레포트 출력시 바로 출력은 정상
    >미리보기에서의 출력을 누르면 아래와 같은 에러 발생
    >"♥ 메모리가 할당이 안된 포인터를 사용하였습니다.
    >♥ 상세내용:
    >Access violation at address 005290AB in module 'MAIN.exe'. Read of address 00000081"
    >
    >질문과 답변을 아무리 찾아봐도 명쾌한 답변이 없어서 이렇게 올립니다.
    >고수님들의 도움 청합니다.
    >
    >그리고 미리보기를 했을경우
    >c:\Program Files\Borland\Delphi4\quickrp\qrprev.pas 의 프린트, 프린트 설정 등
    >버튼 컨트롤 할수 있는 방법은 없는지요?(프린트 버튼을 안보이게 할려고 합니다.)
    >
    >
    >
    >미리보기 버튼 클릭시
    >      try
    >//-- 이부분은 있어도 되고 없어도 똑같습니다.
    >        rptTax.Free;
    >        rptTax := nil;
    >
    >        rptTax2.Free;
    >        rptTax2 := nil;
    >//-- 여기까지
    >
    >         if not Assigned(rptTax) Then
    >           rptTax := TrptTax.Create(self);
    >
    >         if not Assigned(rptTax2) Then
    >           rptTax2 := TrptTax2.Create(self);
    >// -- 출력인지 미리보기인지 설정
    >         if RadioButtonPt.Checked then
    >         QRCompositeReport_Tax.Print
    >         else
    > QRCompositeReport_Tax.Preview;
    >
    >      finally
    >        rptTax.Free;
    >        rptTax := nil;
    >
    >        rptTax2.Free;
    >        rptTax2 := nil;
    >      end;
    >
    >
    >
    >procedure Tdlgrpt.QRCompositeReport_TaxAddReports(
    > Sender: TObject);
    >begin
    > inherited;
    > QRCompositeReport_Tax.Reports.Add(rptTax.qrPort);
    > QRCompositeReport_Tax.Reports.Add(rptTax2.qrPort);
    >end;  
    >