Прежде чем задать вопрос, смотрите FAQ.
Рекомендуем загрузить DRKB.
![]() ![]() |
| Unconnected |
16.02.2010 23:08
Сообщение
#1
|
![]() mea culpa ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 372 Пол: Мужской Реальное имя: Николай Репутация: 24 |
Привет всем.
Такой вопрос: как можно динамически создавать много объектов? Допустим, нажали на кнопку - создался объект, ещё раз нажали - ещё раз создался, новый, такой же.. Можно, конечно, создать массив нужного типа и конструировать по одному элементу, но мне кажется, это как-то не комильфо в плане экономии памяти. Как быть? Добавлено через 14 мин. Сейчас я так попробовал: var images:array of TImage; Ошибка Incompatible Types, на индекс указывает. Может, нельзя выделять память именно для элемента массива? -------------------- "Знаешь, стыдно - когда не видно, что услышал всё, что слушал.."
|
| volvo |
16.02.2010 23:31
Сообщение
#2
|
|
Гость |
Вообще-то у класса есть конструктор.
varИдея понятна? |
| Unconnected |
16.02.2010 23:38
Сообщение
#3
|
![]() mea culpa ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 372 Пол: Мужской Реальное имя: Николай Репутация: 24 |
Ну это да, конструктор есть. А ведь переменная в обработчике кнопки одна, а мне надо много объектов создавать. И как я потом смогу обратиться к нужному?
-------------------- "Знаешь, стыдно - когда не видно, что услышал всё, что слушал.."
|
| volvo |
16.02.2010 23:46
Сообщение
#4
|
|
Гость |
Цитата А ведь переменная в обработчике кнопки одна, а мне надо много объектов создавать. И как я потом смогу обратиться к нужному? А по имени и сможешь. Скажем, так:procedure TForm1.Button1Click(Sender: TObject); |
| Unconnected |
16.02.2010 23:55
Сообщение
#5
|
![]() mea culpa ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 372 Пол: Мужской Реальное имя: Николай Репутация: 24 |
Оо здорово, спасибо
-------------------- "Знаешь, стыдно - когда не видно, что услышал всё, что слушал.."
|
| Unconnected |
17.02.2010 19:10
Сообщение
#6
|
![]() mea culpa ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 372 Пол: Мужской Реальное имя: Николай Репутация: 24 |
Я решил оформить поиск компонента по имени функцией, так как строка длинная, а использоваться будет часто, получилось это:
Function TForm1.find_comp(name:string):TImage; Компилируется, но вылетает AV. Компонент с именем name я создавал, только без format, а просто присваивал img.name:='name';. Нужный компонент точно типа TImage. Добавлено через 7 мин. Да, кажется, это из-за формата.. А нельзя без этого? Я так-то знаю, что эта функция делает, но зачем это для свойства name, которое, как я понял, имеет строковый тип? -------------------- "Знаешь, стыдно - когда не видно, что услышал всё, что слушал.."
|
| Unconnected |
17.02.2010 19:45
Сообщение
#7
|
![]() mea culpa ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 372 Пол: Мужской Реальное имя: Николай Репутация: 24 |
Сделал с форматом. format('road_1%.2d',[1]); Ищу по road_101, всё равно АВ, в моей функции result содержит nil, типа не находит. У меня всё это дело находится внутри моего класса, может, это мешает?
Добавлено через 12 мин. Извиняюсь за кросспостинг. -------------------- "Знаешь, стыдно - когда не видно, что услышал всё, что слушал.."
|
![]() ![]() |
|
Текстовая версия | 25.08.2025 15:12 |