编程论坛's Archiver

zslly0530 发表于 2007-8-29 10:43

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

<P> char *ComNo;<BR> DCB dcb;<BR> String Temp;</P>
<P> Temp="COM1";<BR> ComNo=Temp.c_str();<BR> hComm=CreateFile(ComNo,GENERIC_READ|GENERIC_WRITE,<BR>                   0,NULL,OPEN_EXISTING,1,0);</P>
<P> if(hComm==INVALID_HANDLE_VALUE)<BR> {<BR> MessageBox(0,"打开通信端口错误,请检查端口是否被占用!" ,"Comm Error",MB_OK);<BR> return;<BR> }<BR>GetCommState(hComm,&amp;dcb);<BR>dcb.BaudRate=CBR_9600;<BR>dcb.ByteSize =7;<BR>dcb.Parity =EVENPARITY;<BR>dcb.StopBits =ONESTOPBIT;<BR>SetCommState(hComm,&amp;dcb);<BR>if(!SetCommState(hComm,&amp;dcb))<BR>{<BR>MessageBox(0,"通信端口设置错误!","Set Error",MB_OK);<BR> CloseHandle(hComm);<BR> return;</P>
<P>}<BR>以上是本人的打开通信端口以及选择通信端口的代码,可我把Temp设置为变量时(即Temp可为COM1或者COM2),程序运行就会死机,想了好几天也没有解决,请高手帮我看看,问题出在哪,是不是少了什么?!<BR></P>

zslly0530 发表于 2007-8-29 11:42

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

页: [1]

Powered by Discuz! Archiver 6.1.0  © 2001-2007 Comsenz Inc.