Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Как удалить экземпляр? (http://www.flasher.ru/forum/showthread.php?t=130109)

StepanR 17.09.2009 20:12

Как удалить экземпляр?
 
Пишу:
var loading_ = new Loading();
delete loading_;
и возникает ошибка 1189: Attempt to delete the fixed property loading_. Only dynamically defined properties can be deleted.
в чем проблема? разве я ни сам определил loading_?

WRC_S 17.09.2009 20:14

ты ваше на каком языке програмешь? на AS3 не похоже!

StepanR 17.09.2009 20:20

var loading_ = new Loading(); - as3, а вот на счет delete - не уверенн! однако ошибку выдает

WRC_S 17.09.2009 20:23

приведи полный текст кода, так не понятно! класы и таму подобное!

StepanR 17.09.2009 20:25

а все, компилятор сам пишет, что с этим делать - приравнять к нулю, а не удалить! Тьфу, не работает..
мне бы просто чтоб работали эти две строчки подряд...

WRC_S 17.09.2009 20:27

как он может сам всё писать!

Loading() чё за тип класса мувик или ещё чего не ясно и не видно с твоего кода!

StepanR 17.09.2009 20:28

loading_ - экземпляр класса Loading, хотелось бы его удалить

Добавлено через 7 минут
Loading - символ MovieClip

Obi 17.09.2009 20:36

Отожгли ребята :)
Only dynamically defined properties can be deleted.
Написано, что только динамически определенные свойства могут быть удалены.
В as3 удалением объектов из памяти занимается сборщик мусора. Объект удаляется из памяти в том случае, если на него не осталось ссылок в коде (молчу про weak reference).

Нужно приравнять объект к null и убедиться, что ссылки на него отсутствуют.

Felicast 17.09.2009 20:37

Код AS3:

loading_  = null;

сборщик все сам за тебя сделает (если конечно больше нигде на твой loading_ никто не ссылается)
delete только для динамических классов

StepanR 17.09.2009 20:42

т.е. обнулить и отображаться там ничего не будет? буду пробовать значит, пока не обнудяется

Obi 17.09.2009 20:42

Цитата:

Сообщение от Felicast (Сообщение 851614)
delete только для динамических классов

MovieClip динамический класс, что не мешает его экземплярам успешно не удаляться вручную :p

StepanR 17.09.2009 20:45

да, видимо не совсем то делаю..как удалить сразу всех потомков loading типа Shape?

Obi 17.09.2009 20:47

Чтоб ничего не отображалось, достаточно убрать контейнер из списка отображения. removeChild и все такое.

StepanR 17.09.2009 20:47

Спасибо!

WRC_S 17.09.2009 21:30

Цитата:

Сообщение от Obi (Сообщение 851612)
Отожгли ребята :)
Only dynamically defined properties can be deleted.
Написано, что только динамически определенные свойства могут быть удалены.
В as3 удалением объектов из памяти занимается сборщик мусора. Объект удаляется из памяти в том случае, если на него не осталось ссылок в коде (молчу про weak reference).

Нужно приравнять объект к null и убедиться, что ссылки на него отсутствуют.

Я и пытался выяснить что у него за класс такой (статический или динамический), а потом удалять если класс былбы денамическим, а так присвоить null и как ты сказал сборщик мусора найдёт и удалит :)


Часовой пояс GMT +4, время: 01:30.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.