Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как происходит уничтожение в структуре класса


Разведка ©   (2012-06-16 13:11:00) 

Например

в классе формы добавили объект
 
 private
   FieldsList: TStrings;
 public

procedure TFrmMainTable.FormCreate(Sender: TObject);
begin
 FieldsList := TStringList.Create;
end;

в процедуре FormCreate его  иницилизировали.  FieldsList нужен на всегда на протяжении существования формы.
При уничтожении формы программа не завершает своей работы.

Вопрос: При уничтожении формы будет ли уничтожен  FieldsList: TStrings ?


Сергей М.   (2012-06-16 20:39:00) [1]


> FieldsList нужен всегда на протяжении существования формы


оно, поле, и будет всегда на протяжении существования формы.
и умрет вместе с формой, ни раньше ни позже.


Anatoly Podgoretsky   (2012-06-16 19:50:00) [2]


> А можно в OnClose формы

Готовься к неожиданностям


turbouser   (2012-06-16 19:46:00) [3]


> Inovet ©   (16.06.12 19:22) [8]

Перепутал с OnCanClose


DVM   (2012-06-16 19:31:00) [4]


> Inovet ©   (16.06.12 19:22) [8]

а, ты про это


Inovet   (2012-06-16 19:22:00) [5]

> [7] DVM ©   (16.06.12 18:53)
> Это как?

The value of the Action parameter determines if the form actually closes


DVM   (2012-06-16 18:53:00) [6]


> Inovet ©   (16.06.12 17:57) [6]


> не факт, что форма будет уничтожена.

Это как?


Inovet   (2012-06-16 17:57:00) [7]

> [5] Разведка   (16.06.12 16:45)
> А можно в OnClose формы

Низя, не факт, что форма будет уничтожена.


Разведка   (2012-06-16 16:45:00) [8]


> Anatoly Podgoretsky ©   (16.06.12 15:38) [4]
> > Вопрос: При уничтожении формы будет ли уничтожен  FieldsList:
> >  TStrings ?Ответ: нет, уничтожать надо самому в защищенной
> секции, в данном случае в OnDestroy можно.


А можно в OnClose формы


Anatoly Podgoretsky   (2012-06-16 15:38:00) [9]


> Вопрос: При уничтожении формы будет ли уничтожен  FieldsList:
>  TStrings ?

Ответ: нет, уничтожать надо самому в защищенной секции, в данном случае в OnDestroy можно.


sniknik   (2012-06-16 13:44:00) [10]

"сами" уничтожаются только те кто имеет родителя, родителем... т.е. если бы ты указывал
procedure TFrmMainTable.FormCreate(Sender: TObject);
begin
FieldsList := TStringList.Create (self);
end;
тогда бы, этот объект явно не требовалось уничтожать, он бы уничтожился формой.


Inovet   (2012-06-16 13:20:00) [11]

Сам создал, сам уничтожь.


Разведка   (2012-06-16 13:13:00) [12]


> FieldsList нужен на всегда на протяжении существования формы.


имелось ввиду
FieldsList нужен всегдана протяжении существования формы.


Наверх

Титульная страница Поиск, карта сайта Написать письмо