Delphi 6, WinXP
Создаю динамический двухмерный массив размер которого превышает размер доступной памяти.
Получаю ошибку о нехватке памяти, пытаюсь освободить массив, как результат память не освобождается.
Как освободить память занимаемую массивом?
Ниже приведенный код и его вариации не работают.
Секции
finally и
except отрабатываются.
Функции
Finalize(matrix) и
SetLength(matrix,0) прекрасно работают на небольших массивах, но в данном случае память не освобождается.
var
matrix: array of array of integer;
procedure CreateMatrix;
try
SetLength(matrix,100000,100000);
finally // or except
Finalize(matrix); // or SetLength(matrix,0);
end;
end;