Модераторы: SoWa
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Проблема в коде... 
:(
    Опции темы
AntonioBanderaz
Дата 2.9.2005, 05:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Velichko Anton
**


Профиль
Группа: Участник
Сообщений: 851
Регистрация: 28.4.2005
Где: Санкт-Петербург

Репутация: 1
Всего: 18



Код

.........................                  
                  this.pathXML = pathXML;
        this.XMLSource = new XML;
        var inter:Number = setInterval("showAndLoadProgress",2,this.XMLSource);
        var showAndLoadProgress:Function = function(who:XML) {
            if(who.getBytesLoaded() == who.getBytesTotal() && who.getBytesLoaded() != 0) {
                this.StatusText.removeMovieClip();
                getNews();
                showNews();
                clearInterval(inter);
            } else if(who.getBytesTotal() == 0 || who.getBytesTotal() == undefined) {
                this.StatusText.text = "Loading... " + who.getBytesLoaded()/1024 + " of " + who.getBytesTotal()/1024 + " Kb.";
            } else {
                this.StatusText.text = "Loading... " + who.getBytesLoaded()/1024 + " of Unknwown Kb.";
            }
        }
        this.XMLSource.load(pathXML);
...................................


Не хочет запускаться setInterval, почему????????

И второй вопрос, this в функции showAndLoadProgress - относится к классу или к самой функции????


--------------------
ГЫ... 
PM MAIL ICQ   Вверх
IvanB
Дата 2.9.2005, 08:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 155
Регистрация: 23.5.2005
Где: Irkutsk

Репутация: нет
Всего: 5



Потому что функция, используемая в setInterval у тебя создаётся после того, как setInterval завершится, поэтому лучше её создать в классе.

Это сообщение отредактировал(а) IvanB - 2.9.2005, 08:40
--------------------
Закон отладки: Каждая последняя ошибка является предпоследней.
PM MAIL ICQ   Вверх
AlDev
Дата 2.9.2005, 14:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный идиотъ
***


Профиль
Группа: Участник Клуба
Сообщений: 1927
Регистрация: 17.4.2005
Где: Irk, rus

Репутация: 9
Всего: 50



Код

this.pathXML = pathXML;
this.XMLSource = new XML;
var showAndLoadProgress:Function = function(who:XML,ths:Object) 
{
  if(who.getBytesLoaded() == who.getBytesTotal() && who.getBytesLoaded() != 0) 
  {
    ths.StatusText.removeMovieClip();
    ths.getNews();
    ths.showNews();
    clearInterval(ths['inter']);
  }else 
  {
    if(who.getBytesTotal() == 0 || who.getBytesTotal() == undefined) 
    {
      ths.StatusText.text = "Loading... " + who.getBytesLoaded()/1024 + " of " + who.getBytesTotal()/1024 + " Kb.";
    }else 
    {
      ths.StatusText.text = "Loading... " + who.getBytesLoaded()/1024 + " of Unknwown Kb.";
    }
  }
}
this['inter']  = setInterval(showAndLoadProgress,2,this.XMLSource,this);
this.XMLSource.load(pathXML);


примерно так..
ошибки:
1. указываешь имя функции в interval-е, как String, а надо как Function
2. вызываешь интервал до определения функции
3. обращение this в интервале - trace (this) даст undefined.

вроде всё, код не тестил
PM MAIL WWW ICQ YIM MSN   Вверх
IvanB
Дата 3.9.2005, 10:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 155
Регистрация: 23.5.2005
Где: Irkutsk

Репутация: нет
Всего: 5



Странно, у меня как стринг вполне срабатывает...
--------------------
Закон отладки: Каждая последняя ошибка является предпоследней.
PM MAIL ICQ   Вверх
AntonioBanderaz
Дата 3.9.2005, 20:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Velichko Anton
**


Профиль
Группа: Участник
Сообщений: 851
Регистрация: 28.4.2005
Где: Санкт-Петербург

Репутация: 1
Всего: 18



За объяснение спасибо, понял... =))
А вот что обязательно как function указывать - не сгласен, как стрингу flash проглотит и не ругнётся... но как function правильнее...


--------------------
ГЫ... 
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Flash"
AlDev
SoWa
  • Если вы хотите предложить кому-либо работу, то пишите или в личку, или оставляйте сообщения в специально предназначеном для этого форуме "Объявления о найме специалистов"
  • Один вопрос - одна тема. Не надо переходов от одного вопроса к другому.
  • Если вы хотите показать какой-нибудь ваш мульт, причём показать, а не предоставить исходник, то вам сюда
  • Вопросы про программирование на ActionScript 1,2 (Flash 8 и более ранние версии) пишите в форуме ActionScript 1,2
  • Вопросы по разработке интернет-приложений на Flex и вопросы по MXML пишите в раздел Flex
  • Смотрим в будущее. ActionScript 3 обсуждается в форуме ActionScript 3
  • Новости из мира Flash.
  • New! [code=ascript][/code] - подсветка ActionScript + wikipedia help

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, AlDev, SoWa.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Flash | Следующая тема »


 




[ Время генерации скрипта: 0.0439 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.