![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как получить размер property ? [D7]
AIms © (2005-08-01 01:28:00)Создаю :
property AIms[Index: Integer]: TAIms read GetObject write SetObject;
Как мне узнать размер AIms ? Так, не работает :Lenght(AIms).
Юрий Зотов (2005-08-01 04:59:00) [1]> AIms (01.08.05 04:49) [7]
> какое "поле-массив"
Сам динамический массив.
Видимо, если в классе есть свойство - элемент массива, то в нем же должно быть и поле - массив? Откуда-то же эти элементы должны браться, ведь так?
Или у Вас сделано как-то иначе? Если да - приводите объявление класса.
AIms (2005-08-01 04:49:00) [2]
> Юрий Зотов © (01.08.05 04:37) [6]
> function TMyClass.GetCount: integer;
> begin
> Result := Length(поле-массив)
> end;
А какое "поле-массив" в данном случае ?
Юрий Зотов (2005-08-01 04:37:00) [3]AIms (01.08.05 04:23) [5]
Само свойство ведь имеет тип записи , а не массива записей. Поэтому вполне естественно, что Length(запись) - не работает.
Введите еще одно свойство - Count:
property Count: integer read GetCount;
function TMyClass.GetCount: integer;
begin
Result := Length(поле-массив)
end;
AIms (2005-08-01 04:23:00) [4]
> Юрий Зотов © (01.08.05 03:54) [4]
> > AIms (01.08.05 03:50) [3]
>
> Может, и есть. Но Вы неточно оговорили вопрос.
>
> 1. Как организовано физическое хранение индексированного
> свойства? Массив? Список? Еще что-то?
массив рекордов у меня. Надо перехватывать доступ к его элементам, поэтому и использую propertyAIms[Index: Integer]: TAIms, а неAIms : array of TAIms
> 2. Что Вы хотите получить - количество элементов или размер
> элемента?
Размер массива. Массив динамически, и его размер может меняться.
Юрий Зотов (2005-08-01 03:54:00) [5]> AIms (01.08.05 03:50) [3]
Может, и есть. Но Вы неточно оговорили вопрос.
1. Как организовано физическое хранение индексированного свойства? Массив? Список? Еще что-то?
2. Что Вы хотите получить - количество элементов или размер элемента?
AIms (2005-08-01 03:50:00) [6]
> Eraser © (01.08.05 01:46) [1]
> AIms (01.08.05 01:28)
>
> Что такое TAIms?
record
> GuAV © (01.08.05 03:04) [2]
> Нет там размера. А если он нужен то его делают отдельным
> св-вом. Пример: Components и ComponentCount .
Точно нету ? Как всё запущенно то, однако ...
И что мне каждый раз удаляя или добавляя надо в ручную изменять это свойство ? Может всё же есть какой способ ?
GuAV (2005-08-01 03:04:00) [7]Нет там размера. А если он нужен то его делают отдельным св-вом. Пример: Components и ComponentCount .
Eraser (2005-08-01 01:46:00) [8]AIms (01.08.05 01:28)
Что такое TAIms?