TQRCompositeReport라는게 두개의 레포트를 하나로 합쳐서 보여주는 거잖아요?
근데 에러가 나거던요. 원인은 모르겠습니다.
프로그램 흐름은...
첫 레포트가 실행된 후 close하면 두번째 레포트가 실행되는거거던요. 두번째 실행되는 레포트가 CompositeReport입니다.
첫번째 레포트는 정상적으로 실행되서 Preview가 되거던요. 그런데 첫번째를 close하고나면 아래와 같은 메세지가 뜹니다.
=====================================================================
Project ***.exe raised exception class EAccessViolation with message 'Access
violation at address 004FEDC0 in module '**.exe'. Read of address C30A09D8.
Process stopped. Use Step or Run to continue.
======================================================================
에러 확인하면 실행화면이 [Stopped]돼버리구요. 다시 실행시키면
======================================================================
Project ***.exe raised exception class EInvalidOp with message 'Invalid
floating point operation'. Process stopped. Use Step or Run to continue.
=======================================================================
이런 에러가 발생하고 다시 에러 확인 클릭하면 두번째 CompositeReport Preview가 실행됩니다. 좀 복잡한가요? 미치겠네요. 이놈을 어떻게 잡아야할지....ㅡㅡ;
고수님들의 도움을 기다립니다.
참고로 델파이 소스부분은...
=======================================================================
**** 출력버튼 눌렀을 경우 procedure내에 ****
ZZ151PF := TZZ151PF.Create(Self); // 첫번째 레포트화면
ZZ151PF.QuickRep1.DataSet :=ZZ151PF.Query3;
kSearchQuery; // query하는 부분
fSearchQuery; // query하는 부분
if ZZ151PF.Query3.IsEmpty = True then
begin
showmessage('등록된 내용이 없습니다');
exit;
end;
fQRLabelch; //출력폼의 label 변경하는 부분
ZZ151PF.RC := ZZ151PF.Query3.RecordCount;
ZZ151PF.Num := 0;
ZZ151PF.QuickRep1.Preview; //첫번째 레포트 Preview
ZZ151PF.QuickRep1.Free;
If CheckBox1.Checked then // 체크돼 있으면 콤포지트레포트실행
begin
buSearchQuery; // query하는 부분
ijSearchQuery; // query하는 부분
QRCompositeReport1.Preview; //콤포지트레포트 Preview
QRCompositeReport1.Free;
end;
**** AddReports부분 ****
procedure TZZ150RF.QRCompositeReport1AddReports(Sender: TObject);
begin
inherited;
with QRCompositeReport1 do
BEGIN
Reports.Add(ZZ152PF.QuickRep1);
Reports.Add(ZZ153PF.QuickRep1);
end;
end;