function FileRead(Handle: Integer; var Buffer; Count: LongWord): Integer;
为什么可以这样声明 var Buffer 不要数据类型吗?在调用的时候为什么要这样调用呢
var 
  iFileHandle: Integer;
  iFileLength: Integer;
  iBytesRead: Integer;
  Buffer:PChar;
begin
  .......  FileRead(iFileHanele,Buffer^,iFileLength);
  /*
     如果 FileRead(iFileHanele,Buffer,iFileLength);就不对
                 */        .......
end;

解决方案 »

  1.   

    改成FileRead(iFileHanele,Buffer^,iFileLength);不就可以了吗
    是delphi帮助里面的例子有问题
      

  2.   

    function FileRead(Handle: Integer; var Buffer; Count: LongWord): Integer;
    为什么可以这样声明 var Buffer 不要数据类型吗?
    //变量参数,函数得到的其实是指针,一个内存地址而已,当然是什么类型都行在调用的时候为什么要这样调用呢
    var 
      iFileHandle: Integer;
      iFileLength: Integer;
      iBytesRead: Integer;
      Buffer:PChar;
    begin
      .......  FileRead(iFileHanele,Buffer^,iFileLength);
      /*
         如果 FileRead(iFileHanele,Buffer,iFileLength);就不对
    //你用buffer后函数得到的是什么?指针的指针,这是什么?呵呵反正什么也不是。
      

  3.   

    robinhunter(深空) () 厉害啊