Главная страница
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.014 c
8-1199292139
aaaone
2008-01-02 19:42
2009.11.29
полупрозрачные окна. проблема прорисовки контролов.


15-1254656776
Denis__
2009-10-04 15:46
2009.11.29
настройки модема D-Link 2500U


1-1226591844
lorin
2008-11-13 18:57
2009.11.29
Выключение компа


1-1226314117
lod
2008-11-10 13:48
2009.11.29
Ошибка


15-1254375101
VladOfMonster
2009-10-01 09:31
2009.11.29
Двойная буферизация