Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   Флейм (http://www.flasher.ru/forum/forumdisplay.php?f=53)
-   -   Flash и XML руками Дембицкого (http://www.flasher.ru/forum/showthread.php?t=88365)

iNils 23.11.2006 01:03

Цитата:

Сообщение от Iv
я не знаю AS3
не поверите, но еще не добрался повозюкаться с ним.

Был одноразовый опыт, всю ночь мучал Nirth'а, жутко не понравилось. Для меня это делает флеш скучнее, возможностей больше, но уже нет того "rock-n-roll" © A-Team

KUZEN 23.11.2006 01:15

Цитата:

Сообщение от iNils
Был одноразовый опыт, всю ночь мучал Nirth'а, жутко не понравилось. Для меня это делает флеш скучнее, возможностей больше, но уже нет того "rock-n-roll" © A-Team

Ты не один такой ;)

__i 23.11.2006 12:46

Бедный Nirth... оказывается все начинающие юзать as3 мучают Nirth'a %)
(я его тоже мучал ;) ).

miramax 23.11.2006 12:55

Цитата:

Сообщение от __i
Бедный Nirth... оказывается все начинающие юзать as3 мучают Nirth'a %)
(я его тоже мучал ;) ).

Ага :D :D :D
А ещё статья merlinTwi помогла сильно.
Иначе бы гундосили с тобой на форуме: Вот ас 3 ваш фуфло... вот ас 3 глючный-переглючный.... вот у половины пользователей ещё и 8-ого плеера не стоит....

Fl00r 23.11.2006 14:07

Да ну его. АС3 глючный-переглючный. Вот у половины еще и 8 плеера не стоит

+)

pkfun 02.12.2006 16:10

Код:

my_xml = new XML()
my_xml.load("/xmlfiles/data.xml")
my_xml.onLoad=function(sucsess) {
        if(sucsess || !this.status){
                  return this.customErrorHandler(this.status, sucsess)
        }
        this.customParsingProcedure()
}
my_xml.customParsingProcedure = function (){
// custom actions here
}
my_xml.customErrorHandler = function (status, sucsess){
trace("loaded: " + sucsess +" valid: " + !this.status)
// custom actions here
}

Этот пример рабочий? А то у меня все время выдает ошибку, все время срабатывает функция ошибки.
Код:

my_xml.onLoad = function(sucsess) {
        if (sucsess|| !this.status) {
                trace([sucsess,this.status])
                return this.customErrorHandler(this.status, sucsess);
        }
        this.customParsingProcedure();
};

Это место выдает true,0

etc 02.12.2006 16:25

Нет, не рабочий. Вот правильный:

Код:

my_xml = new XML()
my_xml.load("/xmlfiles/data.xml")
my_xml.onLoad=function(success) {
        if(!success||this.status){
                  return this.customErrorHandler(this.status, success);
        }
        this.customParsingProcedure();
}
my_xml.customParsingProcedure = function () {
// custom actions here
}
my_xml.customErrorHandler = function (status, success){
trace("loaded: "+success+" valid: " + this.status);
// custom actions here
}

У меня есть класс AbstractXML, выполняющий те же функции. Если нужно выполнить парсинг, я просто наследуюсь от этого класса и описываю в нём метод prepareData, а чаще просто использую без наследования:

Код:

import mx.events.EventDispatcher;
/**
 * @author Denis Kolyako
 */
class ru.etcs.data.AbstractXML extends XML {
       
        private var __xml_url:String;
       
        public var event:String = 'onXMLLoad';
        public var errorEvent:String = 'onXMLLoadError';
        public var idMap:Object;

        public var dispatchEvent:Function;
        public var addEventListener:Function;
        public var removeEventListener:Function;
                       
        public function AbstractXML(xml_url:String) {
                super("");
                this.ignoreWhite = true;
                EventDispatcher.initialize(this);
                this.__xml_url = xml_url;
                this.load(this.__xml_url);
        }
               
        private function onLoad(ok:Boolean):Void {
                if (!ok || !this.loaded || this.status || this.getBytesTotal()<30) {
                        trace('XML loaded: '+this.loaded+', valid: '+this.status);
                        this.dispatchEvent({type:this.errorEvent});
                        return;
                }       
                this.prepareData();
                this.dispatchEvent({type:this.event});
        }
       
        private function prepareData():Void {
                // For override       
        }

}


pkfun 02.12.2006 17:01

Код:

if (sucsess && !this.status) {
А такое условие выполняется как раз если все корректно загрузилось и отпарсилось. :) Правильно я понимаю?

etc 02.12.2006 17:11

Правильно, только «success» иначе пишется :)

pkfun 02.12.2006 17:22

Исправляю. :)
Код:

if (success && !this.status) {


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

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