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
[67735] 도와주세요~팩스를 보내면 DB연결이 끊깁니다ㅠㅜ
언제나삽질 [] 1073 읽음    2012-07-13 14:05
안녕하세요
mssql을 사용해서 DB를 연결하는 프로그램에서 인쇄창을 띄우면 인쇄만 되는 것이 아니라
거기서 팩스도 보낼 수 있더군요 그런데 인쇄를 하면 프로그램 내에 아무 이상이 없지만
팩스를 보내고 나면 DB연결이 되지 않으면서 '연결이 실패했습니다' 라는 에러 메세지가 발생합니다.
참고를 위해 스크린샷 첨부합니다.
프로그램에서 하는 일은 프린트 창을 띄우는 것까지 이며 소스는 다음과 같습니다
팩스를 보내면 DB와의 연결이 끊어지는 것 같은데 어떻게 수정해야 할지 잘 모르겠습니다
알려주시면 정말 감사하겠습니다~


if(!CheckPrinter())         {   MessageBox(Handle, "인쇄 할 수 있는 프린트가 없습니다." , MSGBOX_TITLE, MSG_MB_ERROR);  return; }
    if(!ListSet->Active ||
       !ListSet->RecordCount)   {   MessageBox(Handle, "인쇄 할 내역이 없습니다."           , MSGBOX_TITLE, MSG_MB_INFO);   return; }

    AnsiString              PrintData[4];
    TEstimateSumPrintFrm    *EstimatePrint;

    PrintData[0] = StartCalender->Date.FormatString("YYYY-MM-DD");
    PrintData[1] = StopCalender ->Date.FormatString("YYYY-MM-DD");
    PrintData[3] = m_nTotalMoney;

    if( ComSearchCode->ItemIndex    == m_nBCodeIndex ||
        ComSearchCode->ItemIndex    == m_nPCodeIndex ||
        ComSearchCode->ItemIndex    == m_nZCodeIndex)   PrintData[2] = EdtCarNo->Text.Trim();
    else                                                PrintData[2] = ComSearchCode->Text.SubString(7, ComSearchCode->Text.Length());

    if(GrpDispayKind->ItemIndex == 0)   EstimatePrint = new TEstimateSumPrintFrm(this, PrintData, ESTIMTE_DATE_TYPE);
    else                                EstimatePrint = new TEstimateSumPrintFrm(this, PrintData, ESTIMTE_DATETIME_TYPE);

    if(EstimatePrint->SetQuery(ListSet->CommandText))   {
        TPrintDialog *PrintDlg  =   new TPrintDialog(this);
        m_nPrinting             =   TRUE;

        EstimatePrint->EstimateReport->Prepare();
        PrintDlg->Options << poPageNums;
        PrintDlg->FromPage  = 1;
        PrintDlg->MinPage   = 1;
        PrintDlg->ToPage    = EstimatePrint->EstimateReport->QRPrinter->PageCount;
        PrintDlg->MaxPage   = EstimatePrint->EstimateReport->QRPrinter->PageCount;

        if(PrintDlg->Execute()) {
            TPrinter        *PrintCfg                                       = Printer();

            EstimatePrint->EstimateReport->PrinterSettings->PrinterIndex    = PrintCfg->PrinterIndex;
            EstimatePrint->EstimateReport->PrinterSettings->Copies          = PrintDlg->Copies;
            EstimatePrint->EstimateReport->PrinterSettings->Duplex          = PrintDlg->Collate;
            EstimatePrint->EstimateReport->PrinterSettings->FirstPage       = PrintDlg->FromPage;
            EstimatePrint->EstimateReport->PrinterSettings->LastPage        = PrintDlg->ToPage;
            EstimatePrint->EstimateReport->Print();
        }
        delete PrintDlg;
    }
    delete EstimatePrint;
    m_nPrinting = FALSE;

+ -

관련 글 리스트
67735 도와주세요~팩스를 보내면 DB연결이 끊깁니다ㅠㅜ 언제나삽질 1073 2012/07/13
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.