![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Доступ к динамически создаваемому компоненту??? [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 значения разные прописывай.