Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 1.0/2.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 19.09.2007, 13:18
bettrrr вне форума Посмотреть профиль Отправить личное сообщение для bettrrr Найти все сообщения от bettrrr
  № 1  
Ответить с цитированием
bettrrr
[+4 06.08.07]

Регистрация: Aug 2002
Сообщений: 44
По умолчанию Как узнать, что ф-ция отработала?

В функции SWFAddress.getValue() происходит обращение к JS.
Мне надо сделать условие:
if(SWFAddress.getValue() == ''){}

Но похоже, что SWFAddress.getValue() не успевает спросить у JS требуемое значение и вернуть его, до того, как выполнение AS перейдёт на следующее действие.

Как мне записать на AS такую логику:
Подождать, пока отработает SWFAddress.getValue() и если она ничего не вернёт, то ......

Старый 19.09.2007, 13:24
Wolsh вне форума Посмотреть профиль Отправить личное сообщение для Wolsh Найти все сообщения от Wolsh
  № 2  
Ответить с цитированием
Wolsh
Нуб нубам
 
Аватар для Wolsh

модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
Может лучше сделать, чтоб она что-то возвращала в случае "неудачи", напр. булю какуюнить.
В любом случае не должно быть перехода к исполнению блока {}, пока значение не вернется.
__________________
Reality.getBounds(this);

Старый 19.09.2007, 13:44
bettrrr вне форума Посмотреть профиль Отправить личное сообщение для bettrrr Найти все сообщения от bettrrr
  № 3  
Ответить с цитированием
bettrrr
[+4 06.08.07]

Регистрация: Aug 2002
Сообщений: 44
Цитата:
Сообщение от Wolsh
Может лучше сделать, чтоб она что-то возвращала в случае "неудачи", напр. булю какуюнить.
В любом случае не должно быть перехода к исполнению блока {}, пока значение не вернется.
чтобы функция узнала, что произошла "неудача", ей надо дождаться, что ей вернёт или не вернёт Js

а похоже, что остальной код этого не ждёт.

Старый 19.09.2007, 14:10
Wolsh вне форума Посмотреть профиль Отправить личное сообщение для Wolsh Найти все сообщения от Wolsh
  № 4  
Ответить с цитированием
Wolsh
Нуб нубам
 
Аватар для Wolsh

модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
Покажите код SWFAddress.getValue() , ошибка-то в ней, она ж должна "дожидаться" и "возвращать", а Вы ее скрываете.
__________________
Reality.getBounds(this);

Старый 19.09.2007, 14:35
Kikasso вне форума Посмотреть профиль Отправить личное сообщение для Kikasso Найти все сообщения от Kikasso
  № 5  
Ответить с цитированием
Kikasso
 
Аватар для Kikasso

Регистрация: Oct 2006
Адрес: spb.ru
Сообщений: 3,221
возможно, она возвращает null, или даже "null", а не пустую строку. проверьте трейсом.

Старый 19.09.2007, 16:22
bettrrr вне форума Посмотреть профиль Отправить личное сообщение для bettrrr Найти все сообщения от bettrrr
  № 6  
Ответить с цитированием
bettrrr
[+4 06.08.07]

Регистрация: Aug 2002
Сообщений: 44
http://www.asual.com/swfaddress/


Код:
public static function getValue():String {
        var addr:String, id:String = 'null';
        if (_availability) {
            addr = String(ExternalInterface.call('SWFAddress.getValue'));
            id = String(ExternalInterface.call('SWFAddress.getId'));
        }
        if (id == 'null' || !_availability) {
            addr = SWFAddress._value;
        } else {
            if (addr == 'undefined' || addr == 'null') addr = '';        
        }
        return addr;
    }
От такого кода, результат не меняется:
Код:
if(SWFAddress.getValue() == '' || SWFAddress.getValue() == 'undefined' || SWFAddress.getValue() == undefined || SWFAddress.getValue() == null || SWFAddress.getValue() == 'null')
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++=
Цитата:
Сообщение от Kikasso
возможно, она возвращает null, или даже "null", а не пустую строку. проверьте трейсом.
Конечно я проверял. Трэйс ничего не выводит, а в дебаггере ''


Последний раз редактировалось bettrrr; 19.09.2007 в 16:33.
Старый 19.09.2007, 17:50
Wolsh вне форума Посмотреть профиль Отправить личное сообщение для Wolsh Найти все сообщения от Wolsh
  № 7  
Ответить с цитированием
Wolsh
Нуб нубам
 
Аватар для Wolsh

модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
ничего это пустая строка и есть. Таким образом Вы не получаете ничего от своего джава-скрипта, но упорно спрашиваете здесь, что не так с флэшем.
Посмотрим джаваскрипт? Это по верхней ссылке?
__________________
Reality.getBounds(this);


Последний раз редактировалось Wolsh; 19.09.2007 в 17:53.
Старый 19.09.2007, 18:33
bettrrr вне форума Посмотреть профиль Отправить личное сообщение для bettrrr Найти все сообщения от bettrrr
  № 8  
Ответить с цитированием
bettrrr
[+4 06.08.07]

Регистрация: Aug 2002
Сообщений: 44
Цитата:
Сообщение от Wolsh
ничего это пустая строка и есть. Таким образом Вы не получаете ничего от своего джава-скрипта, но упорно спрашиваете здесь, что не так с флэшем.
Посмотрим джаваскрипт? Это по верхней ссылке?
Да, там есть исходник.

ф-ция getValue() обрабатывает резульбтат от Js. И если его нет, то возвращает ''(пусто)
Я её вызываю, она спрашивает у JS, он возвращает, отрицательный ответ, тогда getValue() возвращает пусто.

я хочу проверить, если пусто то сделать ХХХ.

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Спасибо, Wolsh.

Проблема решилась, выносом за if(){} 2-х функций. Оказалось, чтоn баг был связан с моей темой http://www.flasher.ru/forum/showthread.php?t=101446

Я пока не знаю, из-за чего это было, но надеюсь, что в той теме udaaff ответит мне и я пойму что и как.


Последний раз редактировалось bettrrr; 19.09.2007 в 18:57.
Старый 19.09.2007, 19:16
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 9  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
Ну и где JavaScript-то?

Старый 20.09.2007, 01:44
bettrrr вне форума Посмотреть профиль Отправить личное сообщение для bettrrr Найти все сообщения от bettrrr
  № 10  
Ответить с цитированием
bettrrr
[+4 06.08.07]

Регистрация: Aug 2002
Сообщений: 44
Цитата:
Сообщение от __etc
Ну и где JavaScript-то?
Я написал ссылку на исходники в предъидущем посте.

Но если нужен прямой линк, то вот он: http://www.asual.com/download/?swfaddress

Хотя по первой ссылке можно прочитать описание того, что это и для чего.

И сама ф-ция:
Код:
this.getValue = function() {
        if (!supported) return null;
        var addr = hash.replace(/#/gi, '');
        return addr;
    }

Создать новую тему Ответ Часовой пояс GMT +4, время: 20:24.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


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


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