Q&A

  • 프린터드라이버를 설치하지 않으면 에러가 발생해요
MDI폼에 하위 메뉴를 사용한 프로그램인데요,



레포지토리에 있는 퀵레포트 폼을 이용해서 보고서를 출력하도록 했는데,



그 메뉴를 실행할 때 'Printer Selected is not Valid'라는 메세지가 뜨면서



아예 해당메뉴가 실행되지 않고 죽어버립니다.



프린터 드라이버를 설치하면 문제가 없어지는데요, 무엇이 문제죠?



프린터 설정이 안된 경우에도 실행되어야 하지 않나요?

1  COMMENTS
  • Profile
    웰리 2000.12.14 20:05
    윤준호 wrote:

    > MDI폼에 하위 메뉴를 사용한 프로그램인데요,

    >

    > 레포지토리에 있는 퀵레포트 폼을 이용해서 보고서를 출력하도록 했는데,

    >

    > 그 메뉴를 실행할 때 'Printer Selected is not Valid'라는 메세지가 뜨면서

    >

    > 아예 해당메뉴가 실행되지 않고 죽어버립니다.

    >

    > 프린터 드라이버를 설치하면 문제가 없어지는데요, 무엇이 문제죠?

    >

    > 프린터 설정이 안된 경우에도 실행되어야 하지 않나요?

    저도 이것때문에 헤멘적이 있죠..

    엑셀과 같은 리포트 프로그램에서는 프린터 드라이버가 하나이상

    설치되어 있지 않으면 동작을 하지 않습니다....프린트 드라이버가

    설치되어 있지 않는 상태에서 엑셀이나 워드에서 미리보기를 하면

    다운되거나 아니면 에러를 발생시킵니다..이 문제는 드라이버가 설치

    되어 있지 않으면..종이의 정보라든가..여백등 드라이버에서 정보를

    읽어 들일수가 없기 때문에 일어나는 문제입니다..

    저는 API를 이용하여 프린트 드라이버가 설치되어 있는지를 검사하고..

    설치되어 있지 않다면..설치를 해 달라는 메세지를 보내고..미리보기가

    실행되지 않도록 했습니다..아마 다른 방법은 없는것 같습니다..

    제 코드는 아래와 같이 되어 있네요..!!즐코..

    bResult := Printer.Printers.Count > 0;



    if not bResult then begin // by Shin

    Application.MessageBox( '등록된 프린트가 없거나 사용할 수 없습니다.' +

    #13 + '프린트를 등록, 확인 하십시오'

    ,'Publisher', MB_OK + MB_ICONINFORMATION);

    Application.Terminate;

    Halt;

    exit;

    end;