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