아래는 확인 버튼 클릭시 에너가 나는 부분입니다.
QRPrinter := wQRPrinter; 이 문장에서 에러가 걸립니다.
퀵리포트를 미리보기 화면을 띄운 상태에서 출력을 할수 있는 프로그램인데
메모리 쪽의 문제 인거 같은데 고수님들 제발 도와주세요..
문제의 소스도 같이 올립니다.
//////////////////////////// 확인 버튼 클릭시 //////////////////////////////////
procedure TMAC526F.BTNOKClick(Sender: TObject);
procedure InitPrint;
begin
if QRPreview1.QRPrinter <> nil then
begin
PrintDialog1.Copies := 1;
PrintDialog1.MinPage := 1;
PrintDialog1.FromPage := 1;
PrintDialog1.ToPage := QRPreview1.QRPrinter.PageCount;
PrintDialog1.MaxPage := QRPreview1.QRPrinter.PageCount;
end
else
PrintDialog1.MaxPage := 0;
end;
begin
HeadFieldCheck(nil); // 날짜 검증 , 검색시 앞뒤 날짜 비교
if FError then Exit; // 날짜 검증시 에러가 있으면 종료
FreeAndNil(wQRPrinter); //초기화(?)
SelectData; // 데이타를 검색
if not BTNPRINT.Enabled then Exit; // 출력버튼이 활성화 되어 있지 않으면 종료
try
Screen.Cursor := crSQLWait;
if CB_PreView.Checked = False then
wQRPrinter := MAC526QP.ShowPrint(MCE_DATE.Text,MCE_FWRK.Text,MCE_TWRK.Text,MCE_FGOOD.Text,MCE_TGOOD.Text,ComBoBox1.Text,wLMargin, wRMargin);
if CB_PreView.Checked = True then
wQRPrinter := MAC526QP.ShowPrint('0','','','','','',wLMargin, wRMargin);
with QRPreview1 do
begin
Hide;
QRPrinter := wQRPrinter;
ZoomToWidth;
Show;
end;
finally
InitPrint;
TB_ZoomWidth.Down := True;
Screen.Cursor := crDefault;
end;
end;
////////////////////////////////////////////////////////////////////////////////
다음과 같이 해 보세요..
QRPrinter.Assign(wQRPrinter);