![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Destructor [D7, XP]
Вася © (2010-03-16 15:14:00)Уважаемые Мастера,
есть такая структура:
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 17:53:00) [1]Спасибо!
Leonid Troyanovsky (2010-03-16 17:07:00) [2]
> Вася (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 15:54:00) [3]Экземпляры классов TChilClass и TChilCildClass создаются в процессе работы приложения.
> Будут ли они автоматом уничтожаться при k.free?
> Не будут.
Спасибо, понял.
Dennis I. Komarov (2010-03-16 15:45:00) [4]
> При вызове
>
> k.free;
>
> будут ли корректно уничтожаться экземпляры классов TChilClass
> и TChilCildClass?
Стесняюсь спросить, а где и кто их создовал?
Медвежонок Пятачок (2010-03-16 15:39:00) [5]будут ли корректно уничтожаться экземпляры классов TChilClass и TChilCildClass?
В каком смысле?
Будут ли они уничтожаться, если ихбудут уничтожать?
Будут.
Будут ли они автоматом уничтожаться при k.free?
Не будут.
С какой стати?
Вася (2010-03-16 15:15:00) [6]
TChildChildClass = class(TPanel)