Показать сообщение отдельно
Старый 15.09.2007, 23:18   #1
elmortem
Нуждающийся
 
Регистрация: 20.08.2007
Сообщений: 93
Написано 0 полезных сообщений
(для 0 пользователей)
Вопрос Менеджер памяти глючит

Вот, набросал тут маленький тестик...

SuperStrict

Type CBase
	Field Name:String = Null
	
	Method New()
		DebugLog("New CBase")
		Name = "CBase"
	EndMethod
	
	Method Delete()
		DebugLog("Delete CBase("+Name+")")
		Name = Null
	EndMethod
EndType

GCCollect()
DebugLog("   Mem Alloc: "+String.FromInt(GCMemAlloced()))

Local Base:CBase = New CBase
'Base.Name = "Base"
Base = Null

GCCollect()
DebugLog("   Mem Alloc: "+String.FromInt(GCMemAlloced()))
Если запускать как есть, то всё ок. Объект создаётся, затем объект уничтожается. Если убрать коментарий, то объект уничтожаться не хочет. Непонятно почему... Если коментарий не убирать, а сделать переменную Base глобальной - то же самое, объект не уничтожается.
Может кто-то объяснит мне причину и способ с этим бороться? Или это всё же косяк Макса?

У кого есть доступ на офф.форум - может зададите этот вопрос? Был бы очень признателен.
(Offline)
 
Ответить с цитированием