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

aQuestion 09.01.2008 16:00

слежка за ХМЛ
 
вобщем, есть идея сделать некий объект, свойства которого могли бы управляться через хмл, тобишь поменял в хмл какуой нибудь нод, и объект тут же на это отреагировал. короткая экскурсия в хэлп меня поначалу обломала, ибо хмл отмечен как файнал, и никаких событий о свом изменении не рассылает. однако, моё внимание привлёк класс хмлсокет, который во-первых происходит от диспетчера событий, а во-вторых вроде как не файнал, и его теоретически можно расширять, добавляя свои события и т.п.

делал ли кто (или пытался ли делать) нечто подобное? может, не туда копаю?

эдитъ: с другой стороны, полазив по доке, я вообще не понял какова там связь с хмл.

эдить 2: пока читаю тут (отмена - там всё ас2)

etc 09.01.2008 16:02

А зачем вообще объект, который повторяет структуру XML?

aQuestion 09.01.2008 16:20

не повторяет, а использует, например чтобы можно было дерево объектов восстановить/поменять из хмл-файла/сообщения. типа продвинутой сериализации.

BlooDHounD 09.01.2008 17:20

а вас никак не смутило в названии слово Socket ?

aQuestion 09.01.2008 18:00

ну и что, что сокет? будет круто, если хмл с сервера можно будет получать в качестве бонуса. событие то - типа хмл пришел/обновился - по идее можно и самому кинуть, из метода или ещё как. вообще говоря, четкого плана пока нет, надо сесть, помозговать. скажем, приходящий мессадж считается под-нодом в хмл, которому соответствует (каким-то образом) некий подчинённый объект в нашей системе, которому, собственно и передаётся мессадж для обработки; ну и если мы уже находимся в этом объекте - то обрабатываем. как обрабатываем - скажем определяется логикой в классе-наследнике....

edit: чтобы не изобретать по возможности велосипед, вновь обратился к поиску и нашёл вот это. как бы круто с одной стороны, официальная адобовская приблуда, с юнит-тестами и т.п., но с другой стороны:
Код:

private function convertToString( value:* ):String {       
                        // determine what value is and convert it based on it's type
                        if ( value is String ) { ...
                        } else if ( value is Number ) { ...
                        } else if ( value is Boolean ) { ...
                        } else if ( value is Array ) { ...
                        } else if ( value is Object && value != null ) {
                                // call the helper method to convert an object
                                return objectToString( value );
                        }
                        ...
                private function objectToString( o:Object ):String
                {
                        ...
                        // determine if o is a class instance or a plain object
                        var classInfo:XML = describeType( o );
                        if ( classInfo.@name.toString() == "Object" )
                        { ...
                        else // o is a class instance
                        {
                                // Loop over all of the variables and accessors in the class and
                                // serialize them along with their values.
                                for each ( var v:XML in classInfo..*.( name() == "variable" || name() == "accessor" ) )
                                { ...

как видим, ссылки на объекты тупо заменяются копиями. дас ист нихт гут.

VovkaMorkovka 09.01.2008 18:27

Всеравно не понимаю зачем все это нужно

aQuestion 09.01.2008 18:42

ну скажем есть у вас свф, который рисует некую комбинацию чего-то на экране. скажем, у вас тысяча таких комбинаций, которые каким-то макаром зависят от действий юзера. что, все прогать? помоему, лучше написать один раз, чтобы любую комбинацию отрисовало из её описания.

п.с. линк себе, чтоб не потерялся.

VovkaMorkovka 09.01.2008 18:58

Так для этого достаточно модель - вид - контроллер использовать :-) а вот модель может в ХМЛ хранить данные

BlooDHounD 09.01.2008 19:02

мдя ... маразм крепчал ...

aQuestion 09.01.2008 19:20

Цитата:

Сообщение от VovkaMorkovka
Так для этого достаточно модель - вид - контроллер использовать :-) а вот модель может в ХМЛ хранить данные

много кода, много кода. если делать обычными способами, я просто не потяну. edit вопрос снимается по причине открытия для себя IExternalizable


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

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