串口通讯程序在W2K下出问题了(50分)

  • 主题发起人 主题发起人 biyesheng
  • 开始时间 开始时间
B

biyesheng

Unregistered / Unconfirmed
GUEST, unregistred user!
我刚开始学串口通讯,做了一个简单的打开串口的程序,前些日子在WIN2000下还通行
的好好的,但最近几天老是出问题,代码如下:
procedure TMainForm.Opencom;
var
cc:TCOMMCONFIG;
Temp:string;
begin
Temp:='COM'+inttostr(rdcom.ItemIndex+1); // 选择所要打开的COM
hComm:=CreateFile(PChar(Temp), GENERIC_READ or GENERIC_WRITE,
0, nil, OPEN_EXISTING, 0, 0); // 打开COM
if (hComm = INVALID_HANDLE_VALUE) then
begin // 如果COM 未打开
MessageBox (0, '打开通信端口错误!!','',MB_OK);
exit;
end;
ShowMessage('成功打开端口'+temp);
......
end;

程序老是返回“打开通信端口错误!!”,在WIN98下就没有这个问题。
我想可能是在WIN2000下我改了系统的某些设置,因为开始时在WIN2000
下程序也能打开串口。我想问问大家 
为什么程序在WIN2000下后来又打不开串口了?
 
你查查这个端口是不是被其他程序打开了。
 
没有被其它的程序打开呀
 
实端口/虚端口?
 
to Feizi
>>实端口/虚端口
这是什么意思?我很菜不懂呀。
 
你打开串口之后有没有关闭呀?
 
你是不是说我可能再运行程序前打开了串口?
我跟本就没有打开串口成功呀
或者我怎么知道串口已经打开了?
 
试试其他的串口控件,如果急用---重装
 
用MSCOMM32.OCX
 
你先用Hyper Terminal测试一下COM口.
 
我刚刚学的串口通讯的时候,买了一本叫《delphi开发串口通信程序》的书,不得要领。
后来下载了一个控件,ComPort,免费,而且有源代码,我觉得比较好,你可以参考一下。
我在一个商业软件中使用了这个控件,很容易,也很稳定。
下载地址: http://www2.arnes.si/~sopecrni/
 
真是见鬼,今天我进win2000后又能打开串口了,我觉得以前可能是系统占用了串口
谢谢大家了,发分。
 
后退
顶部