![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Коректно закрыть вкладку [D7, XP]
SKIPtr © (2008-10-30 11:20:00)Я пишу программу где имеется PageControl в котором будут динамические страницы
В поисковике нашел много примеров как добавить вкладку TabSheet := TTabSheet.Create(Self);
на нее можно установить компоненты TButton.Create(Self)
но созданую вкладку может понадобиться удалять
как сделать это коректно чтоб произошло полное освобождение памяти которое было взято для вкладки
icWasya (2008-10-30 13:06:00) [1]для полной гарантии
MyButton := TButton.Create(MyTabSheet);
Сергей М. (2008-10-30 11:54:00) [2]
> как закрыть чтоб при закрытии удалились TabSheet и Button
Форма при своем уничтожении автоматически уничтожит PageControl, поскольку форма является владельцем PageControl.
PageControl при своем уничтожении, в свою очередь, автоматически уничтожит все TabSheet'ы, поскольку PageControl является их владельцем.
TabSheet при своем уничтожении, в свою очередь, автоматически уничтожит Button, поскольку TabSheet является его владельцем.
Так что никаких доп.телодвижений делать не надо, достаточно вызвать деструктор формы.
Сергей М. (2008-10-30 11:43:00) [3]
> Self чаще всего это Form1
Self - это Self.
Self - это конкретно тот объект (или класс), метод которого выполняется в тек.момент.
Сделай так:
MyTabSheet := TTabSheet.Create(Self);
MyTabSheet.PageControl := MyPageControl;
MyButton := TButton.Create(Self);
MyTabSheet.InsertControl(MyButton);
b@v (2008-10-30 11:38:00) [4]
TabSheet.Free;
Button.Free;
SKIPtr (2008-10-30 11:31:00) [5]Но Self чаще всего это Form1 а что должно быть
и как закрыть чтоб при закрытии удалились TabSheet и Button
Сергей М. (2008-10-30 11:22:00) [6]Смотря кто такой Self ..