vVisibleStatMax:array of Double;
    
vVisibleStatMax:=0;
SetLength(vVisibleStatMax,FVarNum);有这样一段代码,好像可以,可是我不明白
vVisibleStatMax:=0;
这一句是干什么的?

解决方案 »

  1.   

    清零,假定数组 A[12,76] of Integer;FillChar(A[0],12*76*SizeOf(Integer));动态数组也一样,就是计算一下维数,
      

  2.   

    回答你的问题,这一句,我也不知道是干吗的,长度不够,为0,毫无意义。如果要撤销这个动态数组先前的内存分配,不用这么做,SetLength分配的,会自动回收,不用手工回收。就算是手工回收,也要用Finalize
      

  3.   

    应该是vVisibleStatMax:=nil吧,这样可以释放动态数组
      

  4.   

    修正
    FillChar(A[0],12*76*SizeOf(Integer));
    这一句为
    FillChar(A[0],12*76*SizeOf(Integer),0);漏了一参数,不好意思。
      

  5.   

    多谢BlueTrees(蜗牛),不过还是有问题,一维数组没问题,二维有问题,最后一句FillChar
    怎么也不通过,总是报错,vVisibleStatMax[0],vVisibleStatMax[0,0],VisibleStatMax都不行,该怎么写这个动态数组的地址呢?Thanksvar
            vVisibleStatMax:array of array of Double;
    begin
            SetLength(vVisibleStatMax,2,2);
            vVisibleStatMax[0,0]:=1;
            vVisibleStatMax[1,0]:=2;
            vVisibleStatMax[0,1]:=3;
            vVisibleStatMax[1,1]:=4;        FillChar(vVisibleStatMax[0],2*2*SizeOf(Double),0);