Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2009.11.29;
Скачать: CL | DM;

Вниз

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

 
Nik   (2008-10-03 15:55) [0]

Здорово All!
 Как определить количество в байтах выделенных под динамический массив?


 
Сергей М. ©   (2008-10-03 16:14) [1]

размер заголовка + размер собственно данных, которыми оперирует заголовок


 
Nik   (2008-10-03 16:23) [2]

ммм....
 не совсем понял.
 У меня типизированный динамический массив. Как узнать размер заголовка? да и размер собственно данных оперируемых заголовком?
 надумал одни вариант... тупо посчитать сколько занимает каждая ячейка (по типам данных) и умножить на кол. ячеек массива.
 а нет ли какой либо функции которая просто вернет по указателю на массив?


 
jack128_   (2008-10-03 16:27) [3]

Result := Length(Arr) * SizeOf(Arr[0]) - это размер данных.  Размер заголовка - всегда 8 байт


 
Сергей М. ©   (2008-10-03 16:29) [4]


> Nik   (03.10.08 16:23) [2]


А тебе собссно зачем это понадобилось ?

Приведи пример кода с комментариями для иллюстрации требуемого контескта ..


 
Nik   (2008-10-03 16:36) [5]


> jack128_   (03.10.08 16:27) [3]
>
> Result := Length(Arr) * SizeOf(Arr[0]) - это размер данных.
>   Размер заголовка - всегда 8 байт

Спасибо! )


> Сергей М. ©   (03.10.08 16:29) [4]
>
>
> > Nik   (03.10.08 16:23) [2]
>
>
> А тебе собссно зачем это понадобилось ?
>
> Приведи пример кода с комментариями для иллюстрации требуемого
> контескта ..


Переполняется память... массив слишком длинный получаецо (.
 Нужно отследить когда он достигает определённого предела.
Например: (рабочий вариант в разы больше... и ооооочень древовиден ) )
MType = record
 I: Integer;
 B: string;
 A: XType {собственно тоже массив ~ такого же типа}
end;
FMType: array of MType;


 
Сергей М. ©   (2008-10-03 16:46) [6]


> Нужно отследить когда он достигает определённого предела


А кем или чем определяется этот предел ?

Ну, предположим, ты узнал, что текущий размер массива равен, скажем, 1 мбайт.

Что дальше ?


 
Сергей М. ©   (2008-10-03 16:48) [7]

И, кстати, какое отношение твой вопрос имеет к WinAPI ?
Дин.массивы. о которых ты ведешь речь, - штука специфичная для Делфи. Опер.система ничего не знает ни про какие дельфийские дин.массивы ..



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

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

Наверх




Память: 0.48 MB
Время: 0.011 c
1-1226863029
demon
2008-11-16 22:17
2009.11.29
Как инсталировать шрифт в систему?


15-1254148562
xayam
2009-09-28 18:36
2009.11.29
Напомните как называется фильм


15-1254496978
Германн
2009-10-02 19:22
2009.11.29
Название контакта датчика


2-1255072442
novai
2009-10-09 11:14
2009.11.29
Работа с указателями


15-1254493319
Кто б сомневался
2009-10-02 18:21
2009.11.29
Как антивирус не дает терминировать себя из диспетчера?