![]() |
|
Модераторы: Poseidon, Snowy, bems, MetalFan |
![]()
|
|
| TP@MB@Y |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 370 Регистрация: 18.12.2004 Где: Москва Репутация: нет Всего: 4 |
Допустим у меня есть цепочка TList (a), которая содержит объекты - тоже TList (b), а те в свою очередь содержат указатели на какие-то структуры ©
Я в завершении своей программы хочу освободить память. После выполнения команды
вся остальная память тоже освободится или надо самому все элементы пробегать и выполнять для них FREE? |
|||
|
||||
| Rennigth |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1708 Регистрация: 21.6.2004 Где: Moscow Репутация: 49 Всего: 76 |
TP@MB@Y,
все самому придеться освобождать... Если нужно хранить объекты не заботясь о их освовождении используй TObjectList(вроде так называется). -------------------- (* Honesta mors turpi vita potior *) |
|||
|
||||
| skyboy |
|
|||
|
неОпытный ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9820 Регистрация: 18.5.2006 Где: Днепропетровск Репутация: 4 Всего: 260 |
В завершении программы вся память, выделенная потоку, будут освобождена. Независимо от того, освободишь ты её "вручную" или нет.
|
|||
|
||||
| Mechanic |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 228 Регистрация: 5.5.2006 Где: Kharkov, Ukraine Репутация: 6 Всего: 7 |
Компоненты, что имеют owner'а, умеют неститься, и правильно сверху вниз дестроиться. Если же классы не имеют этого механизма, то нужно руками чистить.
В самом деле, если зачистка финальная, то можно использовать системную зачистку (как сказал skyboy), но если по ходу жизни программы списки вот так чистятся, то это будет большой мемлик.. A TObjectList в таких случаях очень облегчает жизнь (особенно с OwnsObjects = true --------------------
Tell me the extensions of the files You backup and I'll tell You who You are.. ©Mch |
|||
|
||||
| TP@MB@Y |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 370 Регистрация: 18.12.2004 Где: Москва Репутация: нет Всего: 4 |
TObjectList пока трогать не буду...
А вот свою память ручками так освобождаю:
Ошибок не вылетало, вроде все верно. |
|||
|
||||
| Rouse_ |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 469 Регистрация: 23.4.2005 Репутация: 5 Всего: 29 |
Неверное утверждение... Учите матчасть, мил человек. Любой созданный объект ядра не принадлежит процессу, поэтому при завершении основного потока данные объекты остануться висеть, если их не закрыть при завершении. |
|||
|
||||
| skyboy |
|
|||
|
неОпытный ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9820 Регистрация: 18.5.2006 Где: Днепропетровск Репутация: 4 Всего: 260 |
Rouse_, лаганул
з.ы. Я знаю про потоки-"зомби".. Просто, видать, плохо знаю |
|||
|
||||
| Rouse_ |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 469 Регистрация: 23.4.2005 Репутация: 5 Всего: 29 |
Будет вторая ошибка 0. Отображение данных... 1. Процесс (выделениа адресного пространства общая инициализация) 2. Поток - рабочая среда процесса и только после инициализации данных объектов запускается дальнейший механизм работы |
|||
|
||||
| Rouse_ |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 469 Регистрация: 23.4.2005 Репутация: 5 Всего: 29 |
Собственно представление процесса в ядре можно выразить как:
Часть исполнительная и ядра... // kernel process typedef struct _KPROCESS { // .... // .... } KPROCESS, *PKPROCESS; // executive process typedef struct _EPROCESS { KPROCESS Pcb; // .... // .... } EPROCESS, *PEPROCESS; Но это не столь важно, более интересна структура описывающая сам поток:
Даже по описанию к структуре можешь сообразить сколько завязано на такой, казалось бы банальный CreateThread |
|||
|
||||
![]()
|
| Правила форума "Delphi: Общие вопросы" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |