Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   Не могу удалить созданный мною объект (http://www.flasher.ru/forum/showthread.php?t=101299)

Mideon 15.09.2007 11:23

Не могу удалить созданный мною объект
 
Проблема следующего характера.
Создаю класс в котором будут храниться данные.
Код:

class TimeUnitStruct
{
        public var currentTUNumber:Number;
        public var curType:String;
        public var curDuration:Number;
        public var cachNumLayers:Array = [];
        public var cachLayers:Array = [];
        public var cachFiles:Array = [];
        public var thumbImages:String;
        public var maxImage:String;
        public var innerAudio:String;
        public var clipAudioVoice:Boolean;
        public var innerAudioType:String;
        public var masterVolume        :Number;
        public var transitionType:String;
        public var transitionFile:String;

        public function TimeUnitStruct()
        {

        }
}

После создания объекта этого класса. Я пытаюсь удалить этот объект.
Код:

import TimeUnitStruct;
class TestTimeUnitStruct extends MovieClip {
       
        public function TestTimeUnitStruct() {
                super();
                var tu:TimeUnitStruct = new TimeUnitStruct();
                trace("Object TU? "+tu);
                trace("DELETE TU: "+delete tu);
               
        }

}

Но он не удаляется.

В ответ возвращается
Код:

Object TU? [object Object]
DELETE TU: false

Может кто знает в чем проблема?

iNils 15.09.2007 15:04

А зачем вы пытаетесь удалить объект, время жизни которого ограничено временем выполнения конструктора TestTimeUnitStruct?
Вынесите var tu:TimeUnitStruct за пределы конструктора, объявив это в классе и удаляйте потом.

etc 15.09.2007 15:09

Да, и напоследок: не объявляйте массивы вне конструктора или методов. Иначе потом глюков будет море.

†‡Paladin‡† 15.09.2007 21:53

Цитата:

Сообщение от __etc
Да, и напоследок: не объявляйте массивы вне конструктора или методов. Иначе потом глюков будет море.

Подробней можно?

silin 15.09.2007 23:58

инициализация массива (вообще любого не примитивного типа) вне конструктора или методов приводит к тому, что он попадает в prototype, а не в экземпляр, в результате все экземпляры несут ссылку на один и тот же объект, вместо своего собственного..
подробнее здесь


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

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