| 
| 
 | Вопрос # 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
 |  
 Мини-форум вопросаМини-форум пуст. Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте. |