conse
  buf=10;type
  Ttest = packed record
     sData: array [0..buf-1] of byte;
end;程序运行后如何动态设置  buf 的大小?

解决方案 »

  1.   

      没时间看你的程序了,给你一个例子,动态数组的  VAR
      arrDateArray:array of Integer;//定义动态数组
     
      SetLength(arrDateArray,10);//动态设置动态数组的长度
       
      arrDateArray[0]:=1;
      arrDateArray[1]:=2;
      arrDateArray[2]:=3;
      arrDateArray[3]:=4;
      arrDateArray[4]:=5;
      arrDateArray[9]:=10;  SetLenrth(arrdatearray,0);//可以理解为释放动态数组。
      
      

  2.   

    SetLength过程可以改变一个字符串或动态数组的大小.delphi已一个nil指针表示一个空的动态数组。delphi利用引用计数来维护一个动态的数组,若为0则释放内存空间。
      

  3.   

    动态数组不是像楼主那样定义的呀,
    动态数组声明
    Type
      TMyArray = array of string;使用
    var
      MyArray: TMyArray;
    begin
      SetLength(MyArray, 1);
      MyArray[0] := "First Element";
      SetLength(MyArray, 2); //增加一个元素
      MyArray[1] := "Second Element";
      .......
      //使用完了,别忘了释放内存
      SetLength(MyArray, 0);
    end;
      

  4.   

    你已经声明了数组大小,怎么设置动态大小啊。
    type 
        Ttest   =   packed   record 
              sData:   array    of   byte; 
    SetLength();用以上方法。
      

  5.   

    动态数组
    arr: array of Integer;
    SetLength(arr, 10);