描述:
我现在是用Delphi写的串口通讯的调试程序.
初始化后,通过串口写入数据.但WriteFile(hCom,Buffer,64,@dwBytesWritten,@OverlappedWrited);老是出现 "Types of actual and formal var parameters must be identical"类型不匹配的问题.
程序如下:
type
Overlapped = Record
Internal : DWORD;
InternalHigh : DWORD;
Offset : DWORD;
OffsetHigh : DWORD;
hEvent : THANDLE;
end;
................................
procedure TCll_Com_Port_Lib.Cll_Com_Port_Send(s : DWORD);
var
Buffer:array[0..63] of DWORD;
dwBytesWritten : DWORD;
OverlappedWrite: Overlapped;
begin
OverlappedWrite.Internal := 0;
OverlappedWrite.InternalHigh := 0;
OverlappedWrite.Offset := 0;
OverlappedWrite.OffsetHigh := 0;
OverlappedWrite.hEvent := 0 ;
MoveMemory(Pointer(@Buffer),Pointer(s),64);
PurgeComm(hCom, PURGE_RXCLEAR or PURGE_TXCLEAR or PURGE_RXABORT or PURGE_TXABORT);
sleep(20);
WriteFile(hCom,Buffer,64,@dwBytesWritten,@OverlappedWrited);
end;
该如何解决这个问题!
解决方案1:
WriteFile(hCom, Buffer, sizeof(Buffer), dwBytesWritten, nil);