Форум: "Основная";
Текущий архив: 2002.04.22;
Скачать: [xml.tar.bz2];
ВнизСоздание и удаление динамических массивов Найти похожие ветки
← →
kalinka (2002-04-09 09:48) [0]Есть динамический массив MyMax с длиной Length_MyMax.
Мне надо увеличить его длину на 1.
Пишу следующее:
//Создаем временный массив MyMax_Tmp с длиной Length_MyMax+1
Length_MyMax := Length_MyMax+1;
SetLength(MyMax_Tmp, Length_MyMax);
//Заполняем временный массив значениями из MyMax
For i := 0 to Length_MyMax do MyMax_Tmp[i] := MyMax[i];
//Освобождаем массив MyMax
Finalize(MyMax);
//Создаем массив MyMax с НОВОЙ длиной Length_MyMax
SetLength(MyMax, Length_MyMax); //*ОШИБКА*//
//Заполняем массив MyMax значениями из MyMax_Tmp
For i := 0 to Length_MyMax do MyMax[i] := MyMax_Tmp[i];
//Освобождаем временный массив
Finalize(MyMax_Tmp);
//************************************************
В месте, обозначенном //*ОШИБКА*// выдается ошибка: access violation at 0x00406a79 write of address 0x00030e94
Зато, если я в этом месте пишу SetLength(MyMax, Length_MyMax-1), то есть создаю его с прежней длиной, то ошибки нет.
Как мне увеличить длину динамического массива?
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2002.04.22;
Скачать: [xml.tar.bz2];
Память: 0.44 MB
Время: 0.007 c