Clear:=ClearCommError(hCommHandle,@Errors,@Comms);

解决方案 »

  1.   

    你再看下Delphi中的声明:
    也许Delphi中会变成这样声明:
    function ClearCommError(Handle:THandle;var Errors:Integer;
      var Comms:TCommStat);
    如果这样的话
    这样调用行了:
      
    Clear:=ClearCommError(hCommHandle,Errors,Comms);
    编译器会帮你解决传址的问题
      

  2.   

    就像C++中的引用参数一样:
    比如说:
    void Swap(int &x,int &y);//好像是这样吧!调用的时候只需要:
    int x,y;
    Swap(x,y);//而不需要:Swap(&x,&y);
      

  3.   

    对,在定义时加VAR就可以了不出现着种错误
      

  4.   

    具体操作如下:var
    Commstate:ComStat;
    ErrorFlag:Dword;
    begin
       if not ClearCommError(hNewCommFile,ErrorFlag,@CommState) then
         begin
           showmessage('ClearCommError is error');
           PurgeComm(hNewCommFile,Purge_Rxabort or Purge_Rxclear);
           exit;
         end;
       .........
    end;
      

  5.   

    Clear:=ClearCommError(hCommHandle,Errors,Comms);