안녕하세요..
답을 구합니다.
부탁드려요..
==========================================
폼 CEM040PF
TQRPreview --> QrpConcert
글로벌 변수 TQuickRep의 포인터 --> uoQuickRep이 있습니다.
버튼 Click event
CEM040PF에서 버튼을 클릭해서 query을 이용해 데이터를 조회하고 나서
CEM040_1PF라는 폼을 Create시키고 CEM040_1PF.QuickRep1.Preview
procedure TCEM040PF.sbtRETRIEVEClick(Sender: TObject);
begin
...
...
with TCEM040_1PF.Create(self) do
begin
qrpConcert.Preview;
Exit;
end;
...
end;
폼 CEM040_1PF
TQuickRep --> QuickRep1
QuickRep1Preview Event
procedure TCEM040_1PF.qrpConcertPreview(Sender: TObject);
begin
CEM040PF.QrpConcert.QRPrinter := qrpConcert.QRPrinter;
CEM040PF.uoQuickRep := @qrpConcert;
CEM040PF.Show;
end;
procedure TCEM040_1PF.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Action := caFree;
end;
== 대충 다음과 같은데..
여기서 CEM040PF의 버튼을 여러번 누르게 되면 계속해서 CEM040_1PF는 계속
Create되잖아..
그런 상태에서 CEM040PF를 종료하면
Error Message 인 아래 메시지가 떠요..
Project CEM001PP.exe raised exception Class EAccessViolation with
Message. 'Access violation at address 0140BCA9. Write of address
02816820.'...
왜 그럴까요.. 그리고 또 어떻게 대처해야되는지 아리켜 주세요..
고맙습니다..