Показать сообщение отдельно
Старый 13.11.2007, 17:56   #1
Trilliput
Знающий
 
Регистрация: 27.07.2006
Сообщений: 250
Написано 6 полезных сообщений
(для 7 пользователей)
Как правильно отчищать память?

В программе есть девять типов расширенных из типа TEntity:
Type TEntity 
Field link:TLink
Mehod Remove()
link.Remove
End Method
Method AddLast(list:Tlist)
link=list.addlast(Self)
end method
method Update() Adstract
end type
 
Type TType1 Extends TEntity
Method Update()
...
end method
Function CreateType1:TType1
Local type1:TType1 = New TType1
Type1.AddLast LType1
Return Type1
end function
end type
каждый экземпляр типа заноситься в свой список, те TType1 в LType1. Для отчиски памяти я отчищаю все списки так:
For O:TObj = EachIn LObj
O.Remove()
Next
Вобщем то у меня все организовано через типы, сначало я создаю объект при помощи TType1.CreateType1(), а затем выгружаю при помощи кода выше. Но в итоге все равно почему-то память куда то уходит - это видно через "Диспетчер задач", правда не так много как без отчистки вообще.
(Offline)
 
Ответить с цитированием