Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2008.12.07;
Скачать: CL | DM;

Вниз

Коректно закрыть вкладку   Найти похожие ветки 

 
SKIPtr   (2008-10-30 11:20) [0]

Я пишу программу где имеется PageControl в котором будут динамические страницы
В поисковике нашел много примеров как добавить вкладку TabSheet := TTabSheet.Create(Self);
на нее можно установить компоненты TButton.Create(Self)
но созданую вкладку может понадобиться удалять
как сделать это коректно чтоб произошло полное освобождение памяти которое было взято для вкладки


 
Сергей М. ©   (2008-10-30 11:22) [1]

Смотря кто такой Self ..


 
SKIPtr   (2008-10-30 11:31) [2]

Но Self чаще всего это Form1 а что должно быть
и как закрыть чтоб при закрытии удалились TabSheet и Button


 
b@v ©   (2008-10-30 11:38) [3]


TabSheet.Free;
Button.Free;


 
Сергей М. ©   (2008-10-30 11:43) [4]


> Self чаще всего это Form1


Self - это Self.

Self - это конкретно тот объект (или класс), метод которого выполняется в тек.момент.

Сделай так:

MyTabSheet := TTabSheet.Create(Self);
MyTabSheet.PageControl := MyPageControl;
MyButton := TButton.Create(Self);
MyTabSheet.InsertControl(MyButton);


 
Сергей М. ©   (2008-10-30 11:54) [5]


> как закрыть чтоб при закрытии удалились TabSheet и Button


Форма при своем уничтожении автоматически уничтожит PageControl, поскольку форма является владельцем PageControl.

PageControl при своем уничтожении, в свою очередь, автоматически уничтожит все TabSheet"ы, поскольку PageControl является их владельцем.

TabSheet при своем уничтожении, в свою очередь, автоматически уничтожит Button, поскольку TabSheet является его владельцем.

Так что никаких доп.телодвижений делать не надо, достаточно вызвать деструктор формы.


 
icWasya ©   (2008-10-30 13:06) [6]

для полной гарантии

MyButton := TButton.Create(MyTabSheet);



Страницы: 1 вся ветка

Текущий архив: 2008.12.07;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.011 c
6-1196064124
botaniQ
2007-11-26 11:02
2008.12.07
Select в WebBrowser


2-1225432186
Uno-84
2008-10-31 08:49
2008.12.07
Как выделить дату в MonthCalendar?


3-1210962405
kvp
2008-05-16 22:26
2008.12.07
Yaffil: Долго открывается таблица


3-1210766792
MishaLuk
2008-05-14 16:06
2008.12.07
убрать монопольный доступ


2-1225178385
ther
2008-10-28 10:19
2008.12.07
Создание компонентов на главнойформе из dll