![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
зачем нужно TInterfacedObject(Result).FRefCount := 1 ? [D7, WinXP]
Bless © (2007-04-06 12:09:00)Смотрю TInterfacedObject
class function TInterfacedObject.NewInstance: TObject;
begin
Result := inherited NewInstance;
TInterfacedObject(Result).FRefCount := 1;
end;
procedure TInterfacedObject.AfterConstruction;
begin
InterlockedDecrement(FRefCount);
end;
Какой смысл в выделенных строках?
Что изменилось бы если бы эти две строчки обе просто убрали?
Bless (2007-04-06 12:58:00) [1]Не понял. А можно на примере?
_Аноним (2007-04-06 12:12:00) [2]Чтобы сразу в процессе конструктора не разрушился по _Release