Форум 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=93055)

MisterX 13.03.2007 02:25

видимость функции
 
помогите, задача такая, после завершения загрузки xml, нужно вызвать функцию parse_skin но почемуто ее из обработчика события onLoad не видно, что сделать чтоб была видимой функция?
код:
Код:

class inc.controls.window extends mx.core.UIObject{
        function init(){
                var my_xml:XML = new XML();
                var myReply_xml:XML = new XML();
                myReply_xml.ignoreWhite = true;
                myReply_xml.onLoad = function (success:Boolean) {
                    if (success) {
                                trace("Loaded skin:"+_root.metacity);
                                parse_skin(this)
                    } else {
                        trace("Not loaded");
                    }
                }
                var path=_root.path+"skins/metacity/"+_root.metacity+"/metacity-1/metacity-theme-1.xml";
                trace("Metacity path:"+path);
                my_xml.sendAndLoad(path, myReply_xml);
        }
       
        function parse_info(xml){
               
        }
        function parse_skin(xml){
                trace("----parse_skin----");
        }
        function draw_skin(){
               
        }
       
}


etc 13.03.2007 02:31

Код:

import mx.utils.Delegate;
class inc.controls.Window extends mx.core.UIObject {
        private var xml:XML;
        private function init():Void {
                var path:String =_root.path+"skins/metacity/"+_root.metacity+"/metacity-1/metacity-theme-1.xml";
               
                this.xml = new XML();
                this.xml.ignoreWhite = true;
                this.xml.onLoad = Delegate.create(this, this.parseSkin);
               
                trace("Metacity path:"+path);
                this.xml.load(path);
        }
       
        private function parseInfo():Void {
                trace([this,this.xml]);
        }
        private function parseSkin(xml:XML):Void {
                trace("----parse_skin----");
        }
        private function drawSkin():Void {
               
        }
}

Если уж взялись за AS2, то писать нужно на AS2, а не фигзнаеткак. И _root не пользуют в AS2 (кроме осознанных случаев).

MisterX 13.03.2007 02:40

спасибо за помощь, а рут должно быть поскольку оно должно быть видно из всех класов ..
я просто програмлю, на других языках .. а с джавой не очень знаком (имхо АС2 очень напоминает джаву)

выдает ошибку

Line 10: There is no property with the name 'parseSkin'.
this.xml.onLoad = Delegate.create(this, this.parseSkin);

сори..проехал )) ф-ю не переименовал ))

etc 13.03.2007 02:48

Цитата:

Сообщение от MisterX
спасибо за помощь, а рут должно быть поскольку оно должно быть видно из всех класов ..

Храните нужное в статических свойствах класса, а не в руте.
Изучите полностью весь класс, который я вам написал, от и до и сравните со своим.

MisterX 13.03.2007 02:49

маленький оффтоп, как можно делать поиск в XML по тегам, тоесть
Код:

<name>
.....
</name>
<name1>
</name1>

Как мне получить содержимое тега name, с учетом того что он может быть и не первым.

etc 13.03.2007 02:51

Бегать по массиву childNodes и смотреть nodeName у элементов. Если найден, то это и есть искомый нод.

MisterX 13.03.2007 02:52

Цитата:

Сообщение от __etc
Храните нужное в статических свойствах класса, а не в руте.
Изучите полностью весь класс, который я вам написал, от и до и сравните со своим.

понятно в принципе, большое спасибо за помощь!

все понял ;) большое спасибо еще раз =))

etc 13.03.2007 02:54

И ещё: если вам нужно что-то дописать, то не надо создавать новый пост. Можно отредактировать предыдущий и вписать то, что нужно.
Я ваши семь сообщений объединил в два. Не заставляйте меня ставить плюсы.


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

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