注册 登录
编程论坛 C++ Builder

C++Builder的通信端口选择问题

zslly0530 发布于 2007-08-29 10:43, 1400 次点击

char *ComNo;
DCB dcb;
String Temp;

Temp="COM1";
ComNo=Temp.c_str();
hComm=CreateFile(ComNo,GENERIC_READ|GENERIC_WRITE,
0,NULL,OPEN_EXISTING,1,0);

if(hComm==INVALID_HANDLE_VALUE)
{
MessageBox(0,"打开通信端口错误,请检查端口是否被占用!" ,"Comm Error",MB_OK);
return;
}
GetCommState(hComm,&dcb);
dcb.BaudRate=CBR_9600;
dcb.ByteSize =7;
dcb.Parity =EVENPARITY;
dcb.StopBits =ONESTOPBIT;
SetCommState(hComm,&dcb);
if(!SetCommState(hComm,&dcb))
{
MessageBox(0,"通信端口设置错误!","Set Error",MB_OK);
CloseHandle(hComm);
return;

}
以上是本人的打开通信端口以及选择通信端口的代码,可我把Temp设置为变量时(即Temp可为COM1或者COM2),程序运行就会死机,想了好几天也没有解决,请高手帮我看看,问题出在哪,是不是少了什么?!

1 回复
#2
zslly05302007-08-29 11:42
我的意思是Temp为变量,可以用文本框输入(输入为端口号Com1),如何判断端口是否可用?!!我以上程序给的是Com1,如果接口在Com2上,程序运行无任何提示,就会死机!
1