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

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

Поток [D6, WinXP]


nikulin ©   (2003-01-21 15:29:00) 

Если в классе-потомке TThread есть поля

FADOConnection: TADOConnection;
FADODataSet: TADODataSet;
FServerSocket: TServerSocket;

и обьекты создаются в конструкторе класса Create

FADODataSet := TADODataSet.Create(nil);
FADOConnection := TADOConnection.Create(nil);
FServerSocket := TServerSocket.Create(nil);
то если поток самоуничтожается (при FreeOnTerminate:=True)
TADOConnection;
TADODataSet;
TServerSocket;
???
Освободиться ли память от обьектов


uw   (2003-01-21 15:40:00) [1]

TADODataSet.Create(nil);
Этот nil означает, что у компонента нет владельца-контейнера, ответственного за его автоматическое уничтожение. Поэтому его и надо уничтожать явно.


Skier   (2003-01-21 15:35:00) [2]

Во ! Дык...тебе же всё уже ответили
http://delphi.mastak.ru/cgi-bin/forum.pl?look=1&id=1043132994&n=0


Skier   (2003-01-21 15:33:00) [3]

>nikulin
Нет. Нужно убивать объекты в деструкторе !
Иначе освободиться олько память под указатели на объекты,
т.е. FADOConnection + FADODataSet + FServerSocket = 12 байт.


Наверх

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