copy(setlength(rbuf,4),buf+ipos,4)?
其中:setlength(rbuf,4)是个动态数组,这样为什么不行?

解决方案 »

  1.   

    setlength是procedure,又没有返回值。
    试试下面
      setlength(rbuf,4);
      rbuf[3]:='23124rrfadf';
      s:=copy(rbuf[3],buf+ipos,4);
      

  2.   

    setlength(rbuf,4)是个动态数组???看help:
    procedure SetLength(var S; NewLength: Integer);
    S is a Delphi string or dynamic-array variable.
      

  3.   

    function Copy(S; Index, Count: Integer): string;
    function Copy(S; Index, Count: Integer): array;procedure SetLength(var S; NewLength: Integer);setlength只是一个过程,没有返回值,当然不可以