a:array of integer;
setLength(a,10);
我想问的是,这个A占用的内存在什么时候回收,是自动回收,还是要我调用一个什么方法回收?

解决方案 »

  1.   

    如果我采用将值赋为空的方法,是
    a:=nil;
    or
    a[1]:=nil;
    是那个,是整个数组赋空呢,还是一个一个赋空
      

  2.   

    动态数组其实是指针,而且使用与长整数相同的计数方法进行管理,要释放一个动态数组,可以赋值为nil给引用该数组的变量,或是将此变量传递给Finalize。只要是没有其他的引用存在,不管用哪一种方法都能释放这个数组。长度为0的动态数组其值为nil。千万不要对动态数。只要使用a:=nil就可以了。