你先看看SPCOMM.PAS的下面这个地方改过来了吗?
没改的话先试试
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),
// GENERIC_READ or GENERIC_WRITE,
// 0,} {not shared}
// nil, {no security ??}
// OPEN_EXISTING,
// FILE_ATTRIBUTE_NORMAL or FILE_FLAG_OVERLAPPED,
// 0 {template} );
//------------spcomm的改正----------------
hNewCommFile := CreateFile( PChar('//./' +FCommName),
GENERIC_READ or GENERIC_WRITE,
0, {not shared}
nil, {no security ??}
OPEN_EXISTING,
FILE_ATTRIBUTE_NORMAL or FILE_FLAG_OVERLAPPED,
0 {template});