Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Доступ к динамически создаваемому компоненту??? [D6, Win2k]


Mishenka ©   (2004-10-18 16:50:00) 

На форме динамически создаётся куча ComboBox'ов. Как получить к ним потом доступ, учитывая порядок создания (тобишь отличить какой из них создался 5-ым, а какой 10-ым). В массиве формы Components созданные компоненты располагаются в порядке создания или могут располагаться и по другому?


Rouse_   (2004-10-18 23:34:00) [1]

> Да я их забил в TList и дёргал оттуда, но вот подумал, что
> не гуманно так засорять оперативную память...

Не гуманно... Зачем создавать объект, когда модно обойтись обычным массивом? Ну а уж доступ к ним получить...

> Массив это тоже в оперативке. Может есть другие мнения?
Стало быть сами объекты у тебя создаются не там?
Не переживай, в итоге ты получишь лишь массив указателей Count mul 4 = не такой уж и большой объем (как ты думаешь).
Возьми к примеру обычный String, сколько памяти теряешь? Length()?
Нет... -8 + -4 + String + #0 = ???


xmrz   (2004-10-18 22:28:00) [2]

А чем тебе TList плох? Класс всё равно включен в твое приложение, т.е. от exe-шника место всё равно отъест, а работа со списком более очевидна чем с массивом. А ну потом тебе потребуется удалять произвольные элементы, вставлять в середину?


begin...end   (2004-10-18 22:09:00) [3]


> [5] Mishenka   (18.10.04 21:51)

По сравнению с просто добавлением на форму, ты в случае массива теряешь 4 байта на каждый созданный объект. Это так критично?


Mishenka   (2004-10-18 21:51:00) [4]

Массив это тоже в оперативке. Может есть другие мнения?


begin...end   (2004-10-18 17:08:00) [5]


> [3] Mishenka   (18.10.04 17:07)

Ну тогда массив. Добавляй по порядку, и всё.


Mishenka   (2004-10-18 17:07:00) [6]

Ну так мне нужно получать к ним доступ в порядке создания. А при записи в Tag, придётся каждый раз их сортировать по тагам.


> begin...end ©   (18.10.04 16:55) [1]
> А как же ты к ним обращаешься после создания?

Да я их забил в TList и дёргал оттуда, но вот подумал, что не гуманно так засорять оперативную память...


begin...end   (2004-10-18 16:55:00) [7]

А как же ты к ним обращаешься после создания? Ищешь каждый раз на форме? В смысле, может быть, у тебя есть свой массив или набор переменных? А в общем-то, довольно простое решение - запоминать при создании номер в Tag.


Ega23   (2004-10-18 16:55:00) [8]

При создании давай им разные имена, или, например, в Tag значения разные прописывай.


Наверх

Титульная страница Поиск, карта сайта Написать письмо