![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Использование inherited
Mouserx © (2005-05-30 15:18:00)Есть у меня поток:
Метод Free я обьявляю так:
destructor TScriptThread.Destroy;
begin
inherited;
fFindedList.Free; {TStringList}
fIgnoreList.Free; {TStringList}
//inherited Destroy;
end;
Как я понял - Inherited вызывает обработчик предка. Где он должен стоять в моем варианте? в начале или в конце?
Digitman (2005-05-30 15:23:00) [61]
> Inherited вызывает обработчик предка
не обработчик, а просто метод
об методах-обработчиках имеет смысл говорить в контексте событий объекта, здесь же ни о каких событиях речи не идет
> Где он должен стоять в моем варианте? в начале или в конце?
где угодно.
в отрыве от остального кода говорить об этом бессмысленно
-=XP=- (2005-05-30 15:23:00) [62]Метод Free я обьявляю так:
destructor TScriptThread.Destroy;
Замечательное объявление метода Free! :)
inherited рекомендуется в конце.
Хотя, все на самом деле зависит от Ваших потребностей.
Может быть и в начале.
Частично зависит от того, где создаются объекты fFindedList и sIgnoreList: если Вас угораздило создавать их в конструкторе перед вызовом inherited Create, то и удалять их надо, скорее всего, после inherited Destroy;. По принципу FIFO :).
Но, как я уже сказал - это зависит от Вашего алгоритма и хода мыслей.
Mouserx (2005-05-30 15:21:00) [63]
> Метод Free я обьявляю так:
Имелось ввиду деструктор Destroy.
Метод Free я использую из основного потока. И как я знаю - 2 StringList-а должны освободится именно из дополнительного потока.
Sergey Masloff (2005-05-30 15:21:00) [64]В деструкторе в конце. В конструкторе - в начале ;-)
Defunct (2005-05-30 15:21:00) [65]Для Destructor'а - в конце.
Для процедур - где по логике работы будет необходим.
TUser (2005-05-30 15:21:00) [66]В конце