Форум: "Основная";
Текущий архив: 2004.02.06;
Скачать: [xml.tar.bz2];
ВнизДинамич. массивы Найти похожие ветки
← →
Stalker13 (2004-01-28 19:57) [0]Имеется объект TDisc, с свойством Tracks – динамическим массивом, и методом ReadInf, в котором задаём размер массива Tracks и заполняем его:
TDisc=class
TrNumber:Cardinal;
Tracks:array of TTrack;
procedure ReadInf;
end;
procedure TDisc.ReadInf;
var i:shortint;
begin
…….
SetLength(Tracks,TrNumber);
for i:=1 to TrNumber do
begin
Tracks[i]:=…..;
end;
end;
При первом выполнении процедуры всё проходит “на ура”, при повторном – выдаётся ошибка при задании размера массива(SetLength()). В чём тут может быть причина?
← →
Тимохов (2004-01-28 19:58) [1]Да и при первом на ура не должно работать.
Дин массивы индексируются с 0...
← →
YuRock (2004-01-28 20:03) [2]The one exception is when increasing the length of a dynamic array in which the elements are types that must be initialized (strings, Variants, Variant arrays, or records that contain such types)
← →
YuRock (2004-01-28 20:03) [3]> Тимохов © (28.01.04 19:58) [1]
Кстати да...
← →
Тимохов (2004-01-28 20:04) [4]
> The one exception is when increasing the length of a dynamic
> array in which the elements are types that must be initialized
> (strings, Variants, Variant arrays, or records that contain
> such types)
Это откуда взято?
← →
YuRock (2004-01-28 20:07) [5]Delphi Help (D6) на функцию SetLength
← →
Тимохов (2004-01-28 20:09) [6]Ну прочел.
К ошибке этого отношения не имеет :)))
Ошибка у него в том, что скорее всего отключен range checking и при первом "на ура" нет никакой ошибки...
← →
YuRock (2004-01-28 20:11) [7]Да, согласен. Я сразу не заметил.
← →
Stalker13 (2004-01-28 20:14) [8]а что подразуумевается под range checking...??? господа
← →
Тимохов (2004-01-28 20:15) [9]Опция такая есть в свойствах проекта. У тебя она отключена (раз первый раз было "на ура").
← →
Stalker13 (2004-01-28 20:17) [10]спасибо.. будем смотреть
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2004.02.06;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.027 c