Главная страница
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.048 c
15-1262651153
Kerk
2010-01-05 03:25
2010.08.27
Петиция за сохранение MySQL


2-1265475416
Алексей2010
2010-02-06 19:56
2010.08.27
Не уничтожается класс с 0 индексом


15-1274995784
Юрий
2010-05-28 01:29
2010.08.27
С днем рождения ! 28 мая 2010 пятница


2-1271927418
b86
2010-04-22 13:10
2010.08.27
перевод xls таблицы в stringgrid


2-1273339176
sako
2010-05-08 21:19
2010.08.27
азерб. шрифт