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

Вниз

Как получить размер property ?   Найти похожие ветки 

 
AIms   (2005-08-01 01:28) [0]

Создаю : property AIms[Index: Integer]: TAIms read GetObject write SetObject;

Как мне узнать размер AIms ? Так, не работает : Lenght(AIms).


 
Eraser ©   (2005-08-01 01:46) [1]

AIms   (01.08.05 01:28)

Что такое TAIms?


 
GuAV ©   (2005-08-01 03:04) [2]

Нет там размера. А если он нужен то его делают отдельным св-вом. Пример: Components и ComponentCount .


 
AIms   (2005-08-01 03:50) [3]


> Eraser ©   (01.08.05 01:46) [1]
> AIms   (01.08.05 01:28)
>
> Что такое TAIms?


record


> GuAV ©   (01.08.05 03:04) [2]
> Нет там размера. А если он нужен то его делают отдельным
> св-вом. Пример: Components и ComponentCount .


Точно нету ? Как всё запущенно то, однако ...
И что мне каждый раз удаляя или добавляя надо в ручную изменять это свойство ? Может всё же есть какой способ ?


 
Юрий Зотов ©   (2005-08-01 03:54) [4]

> AIms   (01.08.05 03:50) [3]

Может, и есть. Но Вы неточно оговорили вопрос.

1. Как организовано физическое хранение индексированного свойства? Массив? Список? Еще что-то?

2. Что Вы хотите получить - количество элементов или размер элемента?


 
AIms   (2005-08-01 04:23) [5]


> Юрий Зотов ©   (01.08.05 03:54) [4]
> > AIms   (01.08.05 03:50) [3]
>
> Может, и есть. Но Вы неточно оговорили вопрос.
>
> 1. Как организовано физическое хранение индексированного
> свойства? Массив? Список? Еще что-то?


массив рекордов у меня. Надо перехватывать доступ к его элементам, поэтому и использую property AIms[Index: Integer]: TAIms , а не AIms : array of TAIms


> 2. Что Вы хотите получить - количество элементов или размер
> элемента?

Размер массива. Массив динамически, и его размер может меняться.


 
Юрий Зотов ©   (2005-08-01 04:37) [6]

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:49) [7]


> Юрий Зотов ©   (01.08.05 04:37) [6]
> function TMyClass.GetCount: integer;
> begin
>  Result := Length(поле-массив)
> end;


А какое "поле-массив" в данном случае ?


 
Юрий Зотов ©   (2005-08-01 04:59) [8]

> AIms   (01.08.05 04:49) [7]

>  какое "поле-массив"

Сам динамический массив.

Видимо, если в классе есть свойство - элемент массива, то в нем же должно быть и поле - массив? Откуда-то же эти элементы должны браться, ведь так?

Или у Вас сделано как-то иначе? Если да - приводите объявление класса.



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

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

Наверх




Память: 0.48 MB
Время: 0.061 c
14-1122896571
Exchanger
2005-08-01 15:42
2005.08.21
Электроника, мебель, обмен ссылками, работа


10-1100100773
vlad_ri
2004-11-10 18:32
2005.08.21
проблема инсталяции COM+ серверного приложения в Win2003 Server


3-1121225377
zvb
2005-07-13 07:29
2005.08.21
сохранение базы


1-1122483643
Galiaf
2005-07-27 21:00
2005.08.21
Аттрибуты файлов.


4-1120037901
Juice
2005-06-29 13:38
2005.08.21
доставка почты с сервера ( OLE Outlook )