Создаю панель: MyPanel = new TPanel((TObject*)0);
Сделал так, чтобы после создания каждая панель переименовывалась по порядку ,т.е. MyPanel1, MyPanel2 и т.д.
Как мне удалить произвольную панель, ведь delete удаляеь только то, что я описывал (TPanel *MyPanel

? Что делать если я создал 10 панелей и хочу удалить, например, вторую???
Здравствуйте Аноним, Вы писали:
А>Создаю панель: MyPanel = new TPanel((TObject*)0);
А>Сделал так, чтобы после создания каждая панель переименовывалась по порядку ,т.е. MyPanel1, MyPanel2 и т.д.
А>Как мне удалить произвольную панель, ведь delete удаляеь только то, что я описывал (TPanel *MyPanel
? Что делать если я создал 10 панелей и хочу удалить, например, вторую???
Ну так заведите массив с указателями на созданные панели и удаляйте на здоровье вторую панель:
// псевдокод
// создаем список указателей на панели
TList* pPanels = new TList;
// добавляем два штук
pPanels->Add(new TPanel(NULL));
pPanels->Add(new TPanel(NULL));
// берем указатель на вторую
TPanel* pPanel = (TPanel*) pPanels->Items(1);
// удаляем вторую панель
delete pPanel;
// удаляем хранимую инфу из списка
pPanels->Delete(1);
delete TList;
не работает... :(
Здравствуйте Аноним, Вы писали:
А>Создаю панель: MyPanel = new TPanel((TObject*)0);
А>Сделал так, чтобы после создания каждая панель переименовывалась по порядку ,т.е. MyPanel1, MyPanel2 и т.д.
А>Как мне удалить произвольную панель, ведь delete удаляеь только то, что я описывал (TPanel *MyPanel
? Что делать если я создал 10 панелей и хочу удалить, например, вторую???
А если ты их где-нибудь разместил, то можно сделать FindChildControl.
Здравствуйте Аноним, Вы писали:
А>не работает...
А>
Я ж говорил — псевдокод... Идею, надеюсь, донес? Или, может, вам компонент нужен бесплатный?
нужен... :)
или хотя бы это объясните поподробнее
Здравствуйте Аноним, Вы писали:
А>Создаю панель: MyPanel = new TPanel((TObject*)0);
А>Сделал так, чтобы после создания каждая панель переименовывалась по порядку ,т.е. MyPanel1, MyPanel2 и т.д.
А>Как мне удалить произвольную панель, ведь delete удаляеь только то, что я описывал (TPanel *MyPanel
? Что делать если я создал 10 панелей и хочу удалить, например, вторую???
(Findcomponentbyname('MyPanel'+inttostr(Номер_Панели)) as TPanel).Free