|
Вопрос # 41/ вопрос открыт / |
|
Уважаемые эксперты! Вопрос такого плана: на TPanel (или ему подобном контейнере) находятся различные компоненты, которые создаются динамически. Требуется "за раз" удалить их все, чтобы потом заново создать. Как это реализовать? При обращении к Controls[n] зачастую программа вылетает с ошибкой. Заранее благодарю.
 |
Вопрос задал: Dron (статус: Студент)
Вопрос отправлен: 17 июня 2006, 13:09
Состояние вопроса: открыт, ответов: 3.
|
Ответ #1. Отвечает эксперт: min@y™
//=======================
Вот попробуй так:
//=======================
 |
Ответ отправил: min@y™ (статус: Доктор наук)
Время отправки: 17 июня 2006, 13:33
Оценка за ответ: 5
Комментарий к оценке: Сначала не понял, в чём отличие того, как писал я и как написали вы... А теперь понял - массив ведь каждый раз сдвигается... Спасибо! :-)
|
Ответ #2. Отвечает эксперт: Евгений Малышев
Здравствуйте, Dron.
Если Вы используете Delphi 5 или более новый, то можно использовать наследование от класса TFrame.
Создайте новый фрейм TFrame1 и поместите на него все нужные компоненты.
 |
Ответ отправил: Евгений Малышев (статус: 1-ый класс)
Время отправки: 18 июня 2006, 21:22
Оценка за ответ: 3
Комментарий к оценке: Наверное вы не поняли вопроса... И как после этого быть? Удалять весь фрейм и потом заново создавать? Это можно сделать и с TPanel...
|
Ответ #3. Отвечает эксперт: Alexander A. Gribanov
Попробуй удалять не через Controls[n], а через Components[n]. Например так:
while YourPanel.ComponentСount>0 do YourPanel.Components[0].Free;
Ну и конечно не забывай о том, что таким образом будут удалены не те компоненты, которые на панели отображаются, а те, которыми панель владеет.
P.S.: ну и из вопроса не совсем понятно, почему ты создаешь components, а удаляешь widowed controls...
 |
Ответ отправил: Alexander A. Gribanov (статус: 2-ой класс)
Время отправки: 19 июня 2006, 12:22
Оценка за ответ: 4
|
Мини-форум вопроса
Мини-форум пуст.
Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.
|