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

Вниз

О констукорах и деструкторах компанент   Найти похожие ветки 

 
Pattern ©   (2003-11-02 15:04) [0]

Вопрос чисто теоретического характера. Допустим я создаю какую то свою составную компаненту на основе TPanel. На ней создаётся ещё ряд других компанент TImage, штук 10 TLabel и т.п.
constructor TMyPanel.Create(AOwner: TComponent);
begin
inherited Create(AOwner);
MyImage := TImage.Create(Self);
MyImage.Parent := Self;
MyLabel1 := TLabel.Create(Self);
MyLabel1.Parent := Self;
MyLabel2 := TLabel2.Create(Self);
MyLabel2.Parent := Self;
..

Теперь эта готовая компанента будет создаваться на форме динамически ввиде массива таких компанент. Естественно, общее количество компанент на форме будет значительно расти с появлением каждой следующей компаненты. Так вот в чём вопрос. При уничтожении формы, вместе с ней уничтожаются и все компаненты, которые находятся на ней. Нужно ли прописывать деструктор для компаненты, или этот момент можно опустить? И в то же время как прописывать данный деструктор? Просто уничтожить компаненту, или сначала освободиться от принадлежащих ей TLabel"ов и TImage?


 
Anatoly Podgoretsky ©   (2003-11-02 15:08) [1]

Если принадлежит, то удалит


 
Calm ©   (2003-11-02 15:08) [2]

Просто уничтожить.


 
Юрий Федоров ©   (2003-11-02 15:11) [3]

Если параметром конструктора передается self, то разрушение TLabel"ов и TImage произойдет автоматически при разрушении самого компонента. Но не будет ошиибкой и разрушить их в деструкторе. Второй вариаант на мой взгляд предпостиительней с точки зрения стиля программирования


 
Pattern ©   (2003-11-02 15:12) [4]

Большое спасибо всем за советы!



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

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

Наверх




Память: 0.47 MB
Время: 0.048 c
1-41254
phan
2003-10-29 23:18
2003.11.13
Вставка визуального коспонента в StringGrid/DrawGrid


7-42175
Anonimus
2003-08-29 18:45
2003.11.13
помогите разобраться с сом-портом


6-41798
$h@dow
2003-09-19 16:05
2003.11.13
Как сделать экономный режим скачки?


14-42113
denkop
2003-10-23 00:51
2003.11.13
Купил цифровую видеокамеру, хочу вынуть из неё цифровое видео


1-41249
Andrey Klimov
2003-10-31 18:28
2003.11.13
Autodetect Charset