Показать сообщение отдельно
  #7  
Старый 17.09.2009, 01:43
roamer roamer вне форума
Активный
 
Регистрация: 15.04.2009
Сообщения: 369
Репутация: 93
По умолчанию

Насколько я помню, свойство ComponentCount (у TComponent) отражает кол-во "дочерних" компонент, для которых он является Владельцем.
Когда Вы кидаете какой-то компонент на другой (на форме) , то форма становится владельцем.
Но можно сделать так :
Код:
procedure TForm1.Button4Click(Sender: TObject);
Var
  Lab : TLabel;
begin
  Lab:= TLabel.Create(GroupBox1);  //!!!
  Lab.Parent:=GroupBox1;
  ShowMessage('Кол-во='+IntToStr(GroupBox1.ComponentCount));
end;

Но здесь есть один нюанс.
Когда владельцем компонента является форма - она сама же освобождает ресурсы (при уничтожении формы).

А в случае, когда владелец - НЕ форма - придется программисту самому отслеживать "мусор".
Ответить с цитированием