Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.02.06;
Скачать: 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 вся ветка

Текущий архив: 2004.02.06;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.019 c
7-16768
InVariantian
2003-11-17 15:30
2004.02.06
Камера видеонаблюдения.


3-16129
PCLS
2004-01-13 14:58
2004.02.06
Клиент-сервер


4-16804
DDA2
2003-11-28 18:28
2004.02.06
Handle для папки


1-16277
Elast
2004-01-25 22:50
2004.02.06
RichEdit


1-16423
Erik
2004-01-22 11:06
2004.02.06
Зависание одной строчки кода при переполнении.