【发布时间】:2009-09-16 13:14:02
【问题描述】:
我经常使用动态数组,并且对 SetLength 和 Finalize 过程没有任何问题。
我最近有理由使用动态数组,其中每个数组元素本身可以包含可变数量的元素。声明是这样的:
TScheduleArray = array of array of array [1..DaysPerWeek] of TShiftType;
软件运行良好,我对如何 使用这个结构没有问题。您在主数组上调用 SetLength,然后可以在每个数组元素上再次调用 SetLength。这按预期工作。
SetLength(MyArray, 1);
SetLength(MyArray[0], 2);
我的问题是:当我来释放用于这个数组的资源时,我是否只是在数组变量上调用Finalize:
Finalize(MyArray);
或者每个数组元素也需要Finalized,因为每个元素本身就是一个动态数组?
【问题讨论】: