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

Вниз

Destructor   Найти похожие ветки 

 
Вася   (2010-03-16 15:14) [0]

Уважаемые Мастера,

есть такая структура:


 TChildChildClass = class

 private
   { Private declarations }
   
 public
   constructor Create(aParent: TWinControl); reintroduce;
   Destructor Destroy;override;
 end;
// -------
 TChildClass = class(TObject)

 private
   { Private declarations }
   
 public
   i: array[1..10] of TChildChildClass;
   
   constructor Create;override;
   Destructor Destroy;override;
 end;
// -------
 TMainClass = class(TObject)

 private
   { Private declarations }
   
 public
   j: array[1..5] of TChildClass;

   constructor Create;override;
   Destructor Destroy;override;
 end;

var
 k: TMainClass;


При вызове

k.free;

будут ли корректно уничтожаться экземпляры классов TChilClass и TChilCildClass?


 
Вася   (2010-03-16 15:15) [1]


TChildChildClass = class(TPanel)


 
Медвежонок Пятачок ©   (2010-03-16 15:39) [2]

будут ли корректно уничтожаться экземпляры классов TChilClass и TChilCildClass?

В каком смысле?
Будут ли они уничтожаться, если их будут уничтожать?
Будут.

Будут ли они автоматом уничтожаться при k.free?
Не будут.
С какой стати?


 
Dennis I. Komarov ©   (2010-03-16 15:45) [3]


> При вызове
>
> k.free;
>
> будут ли корректно уничтожаться экземпляры классов TChilClass
> и TChilCildClass?


Стесняюсь спросить, а где и кто их создовал?


 
Вася   (2010-03-16 15:54) [4]

Экземпляры классов TChilClass и TChilCildClass создаются в процессе работы приложения.


> Будут ли они автоматом уничтожаться при k.free?
> Не будут.

Спасибо, понял.


 
Leonid Troyanovsky ©   (2010-03-16 17:07) [5]


> Вася   (16.03.10 15:14)  

>    constructor Create(aParent: TWinControl); reintroduce;

Не очень хорошо.
Создание контрола и установка Parent немного разные действия
и их не стоит, IMHO, объединять.

Еще следует обратить внимание на то, что для того, чтобы TChildClass
мог безопасно пользовать ссылки i: array[1..10] of TChildChildClass;
ему лучше быть потомком TComponent, а не TObject, бо
первый понимает механизм Notification.

И, в завершении, я бы обратил внимание на класс TFrame.

--
Regards, LVT.


 
Вася   (2010-03-16 17:53) [6]

Спасибо!



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

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

Наверх




Память: 0.48 MB
Время: 0.057 c
11-1221153345
Ayaha
2008-09-11 21:15
2010.08.27
Где найти kol_unicode.inc?


2-1268194263
Б
2010-03-10 07:11
2010.08.27
Forward объявление класса.


2-1270206011
Константин
2010-04-02 15:00
2010.08.27
Как правильн вызвать Destroy?


15-1272820362
s_t_d
2010-05-02 21:12
2010.08.27
PostgreSQL. Книги для начального изучения.


2-1267008672
Nilman
2010-02-24 13:51
2010.08.27
CreateProcess и права пользователя