Вниз
Скачать: CL | DM;

Динамич. массивы   Найти похожие ветки 

← →
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 вся ветка

Скачать: CL | DM;



Память: 0.47 MB
Время: 0.016 c
4-16805
Vemer
2003-11-23 17:27
2004.02.06
Как правильно сделать окно активным?


1-16333
Sir Alex
2004-01-25 02:19
2004.02.06
Немодальная форма и Shortcuts в главной форме


14-16611
Amigo Sv
2004-01-13 07:39
2004.02.06
Как хранить рисунок bmp в базе данных


7-16769
Prof
2003-11-18 09:37
2004.02.06
Соединение по модему.


1-16245
denis24
2004-01-26 15:58
2004.02.06
strtofloat( 150.00 )




   Наверх