|
Async pro 로 개발 중에 있습니다.
TApdComPort + TapiDevice 이렇게 조합해 놓고 진행 중인데요..
모뎀 설정하고 전화 자동 수신은 잘 되는데..
전화 걸기 하면 전혀 먹통이 됩니다..아무런 이벤트도 뜨지 않고,
전하도 걸지 않습니다..
왜 그런 것이지요?
//---------------------------------------------------------------------------
// 모뎀 환경 설정 버튼
//---------------------------------------------------------------------------
void __fastcall TFormMain::Button_ModemSettingClick(TObject *Sender)
{
TTapiConfigRec Rec;
Rec = ApdTapiDevice->ShowConfigDialogEdit(ApdTapiDevice->GetDevConfig());
ApdTapiDevice->SetDevConfig(Rec);
int iComPort = ApdTapiDevice->ComPort->ComNumber;
if ( iComPort < 1 ) iComPort = cb_PortList->ItemIndex + 1;
int iBaudRate = ApdTapiDevice->ComPort->Baud;
int iDataBit = ApdTapiDevice->ComPort->DataBits;
int iStopBit = ApdTapiDevice->ComPort->StopBits;
TRegistry *pReg = new TRegistry();
pReg->RootKey = HKEY_LOCAL_MACHINE;
pReg->OpenKey("SOFTWARE\\MYCCU", true);
pReg->WriteString("MODEM",ApdTapiDevice->SelectedDevice);
pReg->WriteBinaryData("TapiConfig",Rec.Data, Rec.DataSize);
pReg->WriteInteger("ComPort",iComPort);
pReg->WriteInteger("BaudRate",iBaudRate);
pReg->WriteInteger("DataBit",iDataBit);
pReg->WriteInteger("StopBit",iStopBit);
pReg->WriteString("Parity","None");
ed_Modem->Text = ApdTapiDevice->SelectedDevice;
cb_Speed->Text = ApdTapiDevice->ComPort->Baud;
ApdTapiDevice->AnswerOnRing = 1; // auto answer after 1 ring
ApdTapiDevice->AutoAnswer();
AddMessage("레지스트리에서 모뎀을 설정하였습니다.");
delete pReg;
}
//---------------------------------------------------------------------------
// 전화걸기
//---------------------------------------------------------------------------
void __fastcall TFormMain::Button_DialingClick(TObject *Sender)
{
AnsiString sPhone = ed_Phone->Text;
if ( sPhone == "" ) {
AddMessage("전화번호를 입력하여 주십시요");
return;
}
ApdTapiDevice->Dial(sPhone);
AddMessage("전화를 걸고 있습니다.");
}
|