Текущий архив: 2003.10.27;
Скачать: CL | DM;
Вниз
Как узнать индекс элемента массива, имея указатель. Найти похожие ветки
← →
Александр-И (2003-10-14 19:51) [0]Имеется : динамический массив структур типа record. Размер массива установлен с помощью SetLength. Есть некая функция, которая возвращает указатель на отдельный элемент массива. Как узнать индекс этого элемента?
← →
default © (2003-10-14 19:55) [1]через адрес массива, адрес элемента и руководствуясь размером записи
это арифметика
← →
Александр-И (2003-10-14 19:57) [2]Более конкретно: указатель я получаю из TTreeView, в который они ранее были помещены с помощью AddObject, AddChildObject.
← →
Александр-И (2003-10-14 20:00) [3]>default © (14.10.03 19:55) [1]
>через адрес массива, адрес элемента и руководствуясь размером >записи
>это арифметика
Это я знаю. А попроще нельзя? И еще вопрос: если я несколько раз переназначил размер массива с помощью SetLength, он в памяти по-прежнему хранится единым непрерывным куском (т.е. адреса элементов непрерывной цепочкой)?
← →
default © (2003-10-14 20:09) [4]"Это я знаю. А попроще нельзя?"
а зачем? вроде и так просто
"И еще вопрос: если я несколько раз переназначил размер массива с помощью SetLength, он в памяти по-прежнему хранится единым непрерывным куском (т.е. адреса элементов непрерывной цепочкой)?"
да по-моему
(точнее физически это может быть и не непрерывный кусок, но
на адресах это не отразится)
← →
Романов Р.В. © (2003-10-14 22:18) [5]
> если я несколько раз переназначил размер массива с помощью
> SetLength, он в памяти по-прежнему хранится единым непрерывным
> куском
Куском то одним но по другому адресу. Храни в TTreeNode.Data номер элемента масива.
Страницы: 1 вся ветка
Текущий архив: 2003.10.27;
Скачать: CL | DM;
Память: 0.48 MB
Время: 0.03 c