Тема: xfreeEntity
Показать сообщение отдельно
Старый 25.10.2011, 12:15   #2
.Squid
Дэвелопер
 
Аватар для .Squid
 
Регистрация: 06.04.2009
Адрес: Запорожье
Сообщений: 1,500
Написано 1,011 полезных сообщений
(для 4,642 пользователей)
Ответ: xfreeEntity

Сообщение от Vadimich Посмотреть сообщение
Всем привет. возникла следующая проблема

cube = xCreateCube()
xPositionEntity cube,-5,0,0
xFreeEntity cube
xPositionEntity cube,-10,0,0
a# = xEntityX(cube)

этот код не выдает ошибку и a получает координату -10 в итоге. более того, если удаленный объект подвергается каким-то модификациям, информация обновляется.. как будто он просто стал невидимым.
Это нормально, если бы деаллокатор физически заполнял очищенную область нулями или каким-то паттерном (что происходит в Debug-режиме), то все работало бы очень медленно. Просто не надо обращаться к удаленным объектам.
Сообщение от Vadimich Посмотреть сообщение
обнуление Cubу после xfreeentity тоже не дает нужного результата. объекты, обращающиеся к cube переходят к любому другому объекту и начинают брать информацию с него
это становится проблемой, когда этот entity передался какому-то объекту аргументом и уловки вроде "if entity=0" или "if xentityClass<>"Null"" не помогают. объект переходит к любому другому объекту на свой выбор.
помогите пожалуйста
Вот этого не понял. Пример, на котором можно воспроизвести, пожалуйста.
__________________

(Offline)
 
Ответить с цитированием