Q&A

  • 세번째 실행 부터 에러가 납니다.
아래는 확인 버튼 클릭시 에너가 나는 부분입니다.

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;
////////////////////////////////////////////////////////////////////////////////
1  COMMENTS
  • Profile
    김운필 2004.01.29 03:00
    wQRPrinter 가 TQRPrinter 형 이라면
    다음과 같이 해 보세요..

       QRPrinter.Assign(wQRPrinter);