|
Project booksManeeger.exe raised exception class EPrinter with message 'printing in pro
gress.'Process stopped. Use Step or Run to continue.
라는 메세지가 뜹니다 이게 뭔지요 왜 그런지 몰겠어요.
쏘스는
void __fastcall TForm1::Book_ptClick(TObject *Sender)
{
AnsiString buf1;
char s0[64], s1[64];
AnsiString no;
buf1 = DBGrid1->DataSource->DataSet->Fields->Fields[1]->AsString;//no
strcpy(s1,buf1.c_str());
strcpy(s0,seperate(s1,0,2));
no = (AnsiString)s0; //no
AnsiString bookname;
buf1 = DBGrid1->DataSource->DataSet->Fields->Fields[2]->AsString;//bookname
strcpy(s1,buf1.c_str());
strcpy(s0,seperate(s1,0,3));
bookname = (AnsiString)s0; //bookname
AnsiString name;
buf1 = DBGrid1->DataSource->DataSet->Fields->Fields[3]->AsString;//name
strcpy(s1,buf1.c_str());
strcpy(s0,seperate(s1,0,3));
name = (AnsiString)s0; //name
//PrinterSetupDialog1->Execute();
if (!PrintDialog1->Execute())
return;
TPrinter* p = Printer();
TCanvas* c = p->Canvas;
p->BeginDoc();
int XPI = GetDeviceCaps(p->Canvas->Handle,LOGPIXELSX);
int YPI = GetDeviceCaps(p->Canvas->Handle,LOGPIXELSY);
PageBorder(c, XPI, YPI);
if (!PrintDialog1->Execute())
return;
p->Canvas->Font->Name = "Arial";
p->Canvas->Font->Size = 25;
p->Canvas->TextOut(800,200,"Acno Techware 도서관리");
p->Canvas->Font->Name = "굴림";
p->Canvas->Font->Size = 10;
p->Canvas->TextOut(200, 400,"번 호 : " + frmMain->Book_Num_edit->Text);
p->Canvas->TextOut(200, 500,"도 서 명 : " + frmMain->Book_title_edit->Text);
p->Canvas->TextOut(200, 600,"저 자 : " + frmMain->Book_name_edit->Text);
p->EndDoc();
}
인데요 걍 어쩔땐 네모만 나오고 보통은 위에 메세지가 떠요.
그리고 buf1 = DBGrid1->DataSource->DataSet->Fields->Fields[2]->AsString;//bookname
strcpy(s1,buf1.c_str());
strcpy(s0,seperate(s1,0,3));
bookname = (AnsiString)s0; //bookname
요 부분에서 Fields->Fields[2]라고 한부분은 두번째 필드를 말하는건가요?
예를 들어 세번째 필드 값을 하려면 Fields->Fields[3] 이렇게 하면 되나요?
부탁드립니다. 도와주세요.
|