![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как происходит уничтожение в структуре класса
Разведка © (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 нужен всегдана протяжении существования формы.