Главная страница
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.049 c
6-1217065389
Надуев Алексей
2008-07-26 13:43
2010.08.27
Соединение Internet


15-1274214590
Юрий
2010-05-19 00:29
2010.08.27
С днем рождения ! 19 мая 2010 среда


15-1264607673
QAZ
2010-01-27 18:54
2010.08.27
Алгоритм Кривая->Кривая безье


2-1271922190
Knob
2010-04-22 11:43
2010.08.27
Открыть с помощью...


6-1216448798
Alex_C
2008-07-19 10:26
2010.08.27
HttpOpenRequest - получаю Bad request