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

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

зачем нужно 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


Наверх

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