Q&A

  • 질문) 정말미치겠군요 컴퓨터를 뽀사버리고싶습니다.
프린터...

프린터...

프린터...

윈도우상에서 기본프린터가 설정되어있지않는 상황에서 의 에러를 처리하려는데

정녕 GetPrinter는 안먹는단 말입니까?

핸들로도 해보고 델마당에서 누가 디바이스로해보라해서 디바이스로 아래같이도 해보고

그래도항상 뜨는 에러는

class EPrinter with message

'There is no default printer currently selected'

정말...프로그래머란 쉬운게 아니라는 말씀 ㅠㅠ

미치겠습니다.

보나스도 없다는데 ㅠㅠ

제발 코드허접시럽다고 비웃고 그냥 넘어가지 마시고.. 된다 안된다 다른방법을써봐라.

아니면 구조체의 이해가틀렸다.라던가..

어찌하라고 코드를 짜달라는이야기가 아닙니다. 방향이라도 제시해주세요 네???



procedure TfScreenFrame.BitBtn1Click(Sender: TObject);

var

l_PrinterDevice : Array[0..255]of Char;

l_PrinterDriver : Array[0..255]of Char;

l_PrinterPort : Array[0..255]of Char;

l_PrinterHandle : THandle;

ls_DefaultPrinterName : String;

begin

Printer.GetPrinter(l_PrinterDevice,l_PrinterDriver,l_PrinterPort,l_PrinterHandle);

ls_DefaultPrinterName := l_PrinterDevice;

if ls_DefaultPrinterName <> '' then

pPrint_Image else begin

ShowMessage('기본프린터가 없습니다.');

Exit;

end;

end;



3  COMMENTS
  • Profile
    이현신 2001.09.28 02:12


    예외 처리로 감싸세요....



    try



    프린터 구하는 함수 ()

    지지고 복고....



    except

    여기에 프린터 구하다 에러 발생했을때 작업....showmessage('에러발생'); 등등..

    end;





    간단하죠?..







    aparadin wrote:

    > 프린터...

    > 프린터...

    > 프린터...

    > 윈도우상에서 기본프린터가 설정되어있지않는 상황에서 의 에러를 처리하려는데

    > 정녕 GetPrinter는 안먹는단 말입니까?

    > 핸들로도 해보고 델마당에서 누가 디바이스로해보라해서 디바이스로 아래같이도 해보고

    > 그래도항상 뜨는 에러는

    > class EPrinter with message

    > 'There is no default printer currently selected'

    > 정말...프로그래머란 쉬운게 아니라는 말씀 ㅠㅠ

    > 미치겠습니다.

    > 보나스도 없다는데 ㅠㅠ

    > 제발 코드허접시럽다고 비웃고 그냥 넘어가지 마시고.. 된다 안된다 다른방법을써봐라.

    > 아니면 구조체의 이해가틀렸다.라던가..

    > 어찌하라고 코드를 짜달라는이야기가 아닙니다. 방향이라도 제시해주세요 네???

    >

    > procedure TfScreenFrame.BitBtn1Click(Sender: TObject);

    > var

    > l_PrinterDevice : Array[0..255]of Char;

    > l_PrinterDriver : Array[0..255]of Char;

    > l_PrinterPort : Array[0..255]of Char;

    > l_PrinterHandle : THandle;

    > ls_DefaultPrinterName : String;

    > begin

    > Printer.GetPrinter(l_PrinterDevice,l_PrinterDriver,l_PrinterPort,l_PrinterHandle);

    > ls_DefaultPrinterName := l_PrinterDevice;

    > if ls_DefaultPrinterName <> '' then

    > pPrint_Image else begin

    > ShowMessage('기본프린터가 없습니다.');

    > Exit;

    > end;

    > end;

    >

  • Profile
    aparadin 2001.09.28 02:42
    procedure TfScreenFrame.BitBtn1Click(Sender: TObject);

    var

    l_PrinterDevice : Array[0..255]of Char;

    l_PrinterDriver : Array[0..255]of Char;

    l_PrinterPort : Array[0..255]of Char;

    l_PrinterHandle : THandle;

    ls_DefaultPrinterName : String;

    begin

    try

    Printer.GetPrinter(l_PrinterDevice,l_PrinterDriver,l_PrinterPort,l_PrinterHandle);

    ShowMessage(l_PrinterDevice);

    ls_DefaultPrinterName := l_PrinterDevice;

    if ls_DefaultPrinterName <> '' then

    pPrint_Image;

    except

    if ls_DefaultPrinterName = '' then

    ShowMessage('설정된 프린터가 없습니다.');

    Exit;

    end;

    end;



    어제 해봤다고요 ㅠㅠ 미치겠습니다.



  • Profile
    다음 2001.09.28 03:19
    이곳에 첨글 올리네요..

    항상 받기만 했습니다.



    전 아래와 같이 했었는데 참조하세요.



    try

    MnPn.Caption := MnPn.Caption + ' [ 현재프린터명 : ' +

    Printer.Printers[Printer.PrinterIndex] + ' ]';

    except

    MnPn.Caption := MnPn.Caption + ' [ 현재 연결된 프린터가 없습니다 ]';

    end;



    즐거운 한가위 보네요~~