我的写com口的程序中有这么一段
procedure putb(b: byte; var ok: boolean);
var res: integer;
begin
WriteFile(com, b, 1, res, nil);
ok:=(res=1);
end;
可是编译的时候总是说
[Error] Types of actual and formal var parameters must be identical
我看了windows.pas中对WirteFile的定义是这样的:
function WriteFile(hFile: THandle; const Buffer; nNumberOfBytesToWrite: DWORD;var lpNumberOfBytesWritten: DWORD; lpOverlapped: POverlapped): BOOL; stdcall;
Buffer竟然没有给出是什么类型的变量,这是怎么回事呢?我用的是Delphi 6.0
procedure putb(b: byte; var ok: boolean);
var res: integer;
begin
WriteFile(com, b, 1, res, nil);
ok:=(res=1);
end;
可是编译的时候总是说
[Error] Types of actual and formal var parameters must be identical
我看了windows.pas中对WirteFile的定义是这样的:
function WriteFile(hFile: THandle; const Buffer; nNumberOfBytesToWrite: DWORD;var lpNumberOfBytesWritten: DWORD; lpOverlapped: POverlapped): BOOL; stdcall;
Buffer竟然没有给出是什么类型的变量,这是怎么回事呢?我用的是Delphi 6.0
解决方案 »
- 请问各位高手,关于字符串过滤的问题
- 刚学,做个listview,居然没做出来,请教
- delphi2005 真是不爽. 面目全非, 和微软的 vs 一样了. 最恶心的就是那个 Tool Palette.
- 一个笨笨的问题!请大哥帮忙啊!
- PowerPoint编程问题一例
- 很急手的问题,在线等待(2小时后散分)!
- 用DELPHI可以和BCB写的程序连接再一起吗?
- 如何通过Form的Handle来创建一个TForm对象。
- Delphi XE6需要多大的磁盘空间?
- 各位观众,请教了?如何通过编程获取和改变win98下打印机属性中的无法打印区域的值?
- 急急急 问题原因何在 高手指教 在线等待?????????
- chart创建图表的问题,在线等待
现在混水园了!
WriteFile(com, @b, 1, res, nil);试一下。
hcm:Thandle;
hdcb:TDCB;
num:DWORD;
data: array[0..9] of Byte;
begin
hcm := CreateFile(nCommName,GENERIC_WRITE,0,nil,OPEN_EXISTING,0,0);
zeromemory(@hdcb,sizeof(TDCB));
hdcb.DCBlength := sizeof(TDCB);
hdcb.BaudRate := nBaudRate;
hdcb.ByteSize := 8;
hdcb.Parity := NOParity;
hdcb.StopBits := ONESTOPBIT;
if (SetCommState(hcm,hdcb)) then
begin
FOR I:=0 TO 9 DO
begin
WriteFile(hcm,data[I],1,num,nil);
end;
end;
finally
CloseHandle(hcm);
end;
end;