Главная страница
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.012 c
2-1255329098
yantux
2009-10-12 10:31
2009.11.29
Сработало исключение EOutOfMemory: как оптимизировать память?


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


8-1201199790
Степан
2008-01-24 21:36
2009.11.29
Доступ к звуку при записи


4-1198157287
p_evghenii
2007-12-20 16:28
2009.11.29
Почему SendMessage работает, а PostMessage нет?


4-1223538073
Дмитрий Белькевич
2008-10-09 11:41
2009.11.29
Асинхронный ввод двух бит через ком порт