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

setlength - какую максимальную длину можно задать?   Найти похожие ветки 

← →
yantux ©   (2010-02-01 10:48) [0]

Какую максимальную длину можно задать с помощью setlength?

var
a : array of extended;
begin
setlength(a,400000);
end;

когда в смотрю в дебаггере значение переменной a после setlength, до там пишет порядка 100000 элементов, т.е. в 4-ре раза меньше, чем я задал. Как с этим бороться?


← →
Ega23 ©   (2010-02-01 10:52) [1]

Не надо смотреть значение переменной а, надо смотреть значение Length(a)


← →
yantux ©   (2010-02-01 10:54) [2]

> Не надо смотреть значение переменной а, надо смотреть значение Length(a)

т.е. дебаггер пишет не правильное количество элементов в массиве?


← →
Медвежонок Пятачок ©   (2010-02-01 10:57) [3]

var
a : array of extended;
begin
setlength(a,400000);
ShowMessage(IntToStr(Length(a)));


← →
brother ©   (2010-02-01 10:57) [4]

> пишет

а остальное не влезло в экран...


← →
Медвежонок Пятачок ©   (2010-02-01 10:58) [5]

setlength - какую максимальную длину можно задать

какое максимальное значение для типа второго аргумента если он integer?
MAXINT конечно же.


← →
Ega23 ©   (2010-02-01 10:59) [6]


> т.е. дебаггер пишет не правильное количество элементов в
> массиве?


Дебаггер всё пишет правильно.


← →
Anatoly Podgoretsky ©   (2010-02-01 11:00) [7]

> Медвежонок Пятачок  (01.02.2010 10:58:05)  [5]

MaxInt div SizeOf(element) это для компиляции, в рантайм меньше


← →
Медвежонок Пятачок ©   (2010-02-01 11:03) [8]

setlength - какую максимальную длину можно задать

максимально можно задать ровно maxint.
а задасться при этом или нет - другой вопрос.


← →
yantux ©   (2010-02-01 11:17) [9]

> Дебаггер всё пишет правильно.

то количество элементов, которое выдаёт дебаггер не совпадает с количеством элементов, котолрое возращает length


← →
Anatoly Podgoretsky ©   (2010-02-01 11:34) [10]


> максимально можно задать ровно maxint.
> а задасться при этом или нет - другой вопрос.

Только не откомпилируется.


← →
Anatoly Podgoretsky ©   (2010-02-01 11:34) [11]

> yantux  (01.02.2010 11:17:09)  [9]

А как ты смотришь? И что ты смотришь?


← →
Ega23 ©   (2010-02-01 11:48) [12]


> то количество элементов, которое выдаёт дебаггер не совпадает
> с количеством элементов, котолрое возращает length


Ты разом все 400.000 элементов хочешь увидеть? Так на это никакого дебаггера не хватит.


← →
yantux ©   (2010-02-01 11:49) [13]

> А как ты смотришь? И что ты смотришь?

смотрю в оконо дебаггера, ущу переменную типа массив, кликаю на плюсик, оно разворачивает мне 131076 элементов, но ни как не 400000


← →
12 ©   (2010-02-01 11:52) [14]

чудеса какие-то..

> А как ты смотришь?

+1


← →
Ega23 ©   (2010-02-01 11:54) [15]


> смотрю в оконо дебаггера, ущу переменную типа массив, кликаю
> на плюсик, оно разворачивает мне 131076 элементов, но ни
> как не 400000


Рыдаю пацталом....


← →
Anatoly Podgoretsky ©   (2010-02-01 11:55) [16]

> yantux  (01.02.2010 11:49:13)  [13]

О уже подросла до 131 тысячи, надо еще потренироваться.


← →
Anatoly Podgoretsky ©   (2010-02-01 11:58) [17]

Ctrl+F7 нажми.



Страницы: 1 вся ветка

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



Память: 0.48 MB
Время: 0.006 c
3-1237759093
zod33
2009-03-23 00:58
2010.04.04
Ошибка при вставке


2-1264604465
s_t_d
2010-01-27 18:01
2010.04.04
Delphi-MSWord, как получить "разрыв" страницы?


2-1264842900
Евгений Р.
2010-01-30 12:15
2010.04.04
Русские буквы в полях ADO-таблиц (DBF)


2-1264721972
Danco
2010-01-29 02:39
2010.04.04
Как узнать значения в чужих приложениях?


3-1230121069
DSKalugin
2008-12-24 15:17
2010.04.04
как это будет для MSSQL?




   Наверх