您的位置:首页 > 编程语言 > Delphi

Delphi使用spcomm串口通信 串口号大于10出错的解决办法 spcomm error opening serial port

2010-02-22 22:42 615 查看
如果你已经会使用SPCOMM且出现10个以上的串口问题

请改一下串口名

COM1.CommName='//./com18';

就这样 加'//./'就行了我也不知道什么回事.......

比如

Comm1.CommName := '//./'+ComboBox1.Text;

//./com18是windows里边的SymbolLinkName,这个在WINAPI里边就需要这
样写,SPCOMM的这部分的源代码如下:

procedure TComm.StartComm;

var

hNewCommFile: THandle;

begin

// Are we already doing comm?

if (hCommFile <> 0) then

raise ECommsError.Create( 'This serial port already opened' );

hNewCommFile := CreateFile( PChar(FCommName), &
lt;------就是这里,要加上//./

GENERIC_READ or GENERIC_WRITE,

0, {not shared}

nil, {no security ??}

OPEN_EXISTING,

FILE_ATTRIBUTE_NORMAL or FILE_FLAG_OVERLAPPED,

0 {template} );

if hNewCommFile = INVALID_HANDLE_VALUE then

raise ECommsError.Create( 'Error opening serial port' );

^^^^^^^^^^^^^^^^^^^^^^^^^^^如果不是
SymbolLinkName写法,串口号大于9这里就出错了
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐