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

enepx 29.10.2006 22:09

Не могу "увидеть" поле и метод
 
еще вопросик...
есть класс Device, у него поле dGroup.

Код:

function Device(url:String) {
        System.useCodepage = true;
        src = new XML();
        src.load(url);

        dGroup="test";
        trace(dGroup);

        src.onLoad = function(success) {
        if (success) {
                dGroup = this.childNodes[0].childNodes[0].attributes.name;
        }
        }
        trace(dGroup);
        }

Я не могу записать в поле dGroup новое значение. trace и в первый и во второй случай выводит "test". У меня эта проблема с областью видимости всюду. Так же из src.onLoad я не могу вызвать какой-либо метод класса... Проблем много.
Объясните пожалуйста...

DarkLight 29.10.2006 22:14

трейс стоит снаружи онЛоада, поэтому выполняется раньше загрузки хмл.

enepx 30.10.2006 07:14

Господа, вопрос-то не в этом. Трейс - это у меня для теста, меняется ли переменная вообще. Вопрос: Как мне достучаться до методов и полей класса из блока (напр.onLoad)?

etc 30.10.2006 10:33

enepx, например, использовать Delegate:

Код:

        public function Device(url:String) {
            // System.useCodepage = true; Забудьте про это, используйте нормальную кодировку utf-8
            thid.src = new XML();
            this.src.load(url);

            this.dGroup="test";
            trace(this.dGroup);

            this.src.onLoad = mx.utils.Delegate.create(this,this.onXMLLoad);
        }
        private function onXMLLoad(success:Boolean):Void {
            if (success) {
                this.dGroup = this.src.firstChild.firstChild.attributes.name;
            }
        }


enepx 30.10.2006 10:43

А как заюзать utf-8? просто без этой строки у меня не выводит строки с кириллицей.

etc 30.10.2006 10:51

Сохранить хотя бы блокнотом в кодировке utf-8 ваш XML (не забыв внутри в заголовке (если он есть) прописать не windows-1251, а utf-8)


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

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