C++Builder Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
C++빌더 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
메신저 프로젝트
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C++빌더 Q&A
C++Builder Programming Q&A
[53516] Re:[초보] 코드 에러 원인좀 찾아 주세요..
장성호 [nasilso] 1182 읽음    2008-05-27 15:16
RptGetDefault = (_PRINT_GETDEF_)::GetProcAddress(m_hPrintHandle, TEXT("GetDefaultPrinterA"));

이 부분에서  RptGetDefault  여기에 NULL인것 같은데요..
hPrintHandle 에   NULL이어서 그런것같구요

C++Builder에서는
GetProcAddressf로 GetDefaultPrinterA 함수를 찾을 필요 없이 바로 사용하면 됩니다.

void __fastcall TForm2::Panel1Click(TObject *Sender)
{
    String sPrinterName;
    DWORD dwBufSize=256;
    char buf[256];
    GetDefaultPrinterA(buf,&dwBufSize);
    sPrinterName=buf;
    ShowMessage(sPrinterName);
}
//---------------------------------------------------------------------------


참조하세요
http://cbuilder.borlandforum.com/impboard/impboard.dll?action=read&db=bcb_qna&no=13963

그럼..


초보자 님이 쓰신 글 :
: //디폴트 프린트 이름을 가져오는 프로그램을 코딩중에.. 에러가 나서요..
:
:
: //TEST ----------2 까지는 나오는데
: //TEST----------3에서 프로그램이 종료됩니다.
: 고수님 코드중에 무엇이 잘못됬나여
:
: [test.h]
: HMODULE m_hPrintHandle;
:
: [test.cpp]
:
: typedef BOOL (WINAPI * _PRINT_SETDEF_)(LPCSTR);
: typedef BOOL (WINAPI * _PRINT_GETDEF_)(LPSTR, LPDWORD);
:
: ....
:
: bool __fastcall TFormSetup::CheckExternalIsDefault()
: {
:
:  _PRINT_GETDEF_   RptGetDefault;
:         bool bResult;
:         if(m_hPrintHandle != NULL)
:         {
:                 RptGetDefault = (_PRINT_GETDEF_)::GetProcAddress(m_hPrintHandle, TEXT("GetDefaultPrinterA"));
:         }
:
:         DWORD   dwSize  = 0;
:         RptGetDefault(NULL, &dwSize);
:         TCHAR* pszBuff = new TCHAR[dwSize];
:         memset(pszBuff, NULL, sizeof(TCHAR)*dwSize);
:     
: ShowMessage("TEST___________________________________________________2");
:         RptGetDefault(pszBuff, &dwSize);
: ShowMessage("TEST___________________________________________________3");
:
:         //ShowMessage(pszBuff);
:         if(strstr(pszBuff, "STP-103") != NULL){
:                 //bResult = false;
:                 bResult = 0;
:         }
:         else{
:                 //bResult = true;
:                 bResult = 1;
:         }
:
:         delete [] pszBuff;
:         return bResult;
: }

+ -

관련 글 리스트
53514 [초보] 코드 에러 원인좀 찾아 주세요.. 초보자 1227 2008/05/27
53516     Re:[초보] 코드 에러 원인좀 찾아 주세요.. 장성호 1182 2008/05/27
53519         장성호님 GetProcAddressf로 GetDefaultPrinterA 함수를 어느메뉴얼에서 찾아봐야하는지.. 초보자 1111 2008/05/27
53520             Re:장성호님 GetProcAddressf로 GetDefaultPrinterA 함수를 어느메뉴얼에서 찾아봐야하는지.. 장성호 1249 2008/05/27
53523                 고맙습니다. 초보자 1069 2008/05/27
53517         고맙습니다. 초보자 1114 2008/05/27
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.