Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Web программирование > Общие вопросы Web
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 07.07.2014, 02:58   #1
Le0n4iko_o
Пользователь
 
Аватар для Le0n4iko_o
 
Регистрация: 11.08.2013
Сообщений: 77
Печаль Передать параметр в XML через ActionScript, Flash

если вызвать trace в функции function Auth
Код:
function Auth (e:Event):void
{
xml = XML (s.data);
trace (xml);
}
то содержимое 1.xml подгрузится в переменную xml

но если вызвать trace после функции, то xml будет = null

1.jpg

Вопрос заключается в том , как правильно передать содержимое xml в auth_key ?
поправка в коде путь прописан так "C:/1.xml" , на скриншоте не верно

Последний раз редактировалось Le0n4iko_o; 07.07.2014 в 03:24.
Le0n4iko_o вне форума Ответить с цитированием
Старый 07.07.2014, 14:28   #2
ACE Valery
Сама себе режиссер
Старожил
 
Аватар для ACE Valery
 
Регистрация: 27.04.2007
Сообщений: 3,378
По умолчанию

this.application = код внутри функции Auth. Потому что на данной этапе у вас сначала срабатывает this.application = код, и только потом онКомплит загрзки.
Если я вас напрягаю или раздражаю, вы всегда можете забиться в угол и поплакать
ACE Valery вне форума Ответить с цитированием
Старый 07.07.2014, 15:47   #3
Le0n4iko_o
Пользователь
 
Аватар для Le0n4iko_o
 
Регистрация: 11.08.2013
Сообщений: 77
По умолчанию

ACE Valery
То есть , мне сперва надо вызвать код из функции и после передавать в this.application ?

написал так,но безуспешно
Код:
public var txt:String;
public var s :URLLoader  = new URLLoader ();
public function  FakeWpapper () {

s.addEventListener (Evenu.COMPLETE,Auth);
s.load (new URLRequest ("C:/1.txt"));

function Auth () 
{
txt=s.data;
}
Auth(); 

в параметрах this.application 
auth_key:txt
писал с телефона, если есть ошибки в коде заранее извиняюсь.

Последний раз редактировалось Le0n4iko_o; 07.07.2014 в 16:35.
Le0n4iko_o вне форума Ответить с цитированием
Старый 07.07.2014, 18:36   #4
ACE Valery
Сама себе режиссер
Старожил
 
Аватар для ACE Valery
 
Регистрация: 27.04.2007
Сообщений: 3,378
По умолчанию

Цитата:
в параметрах
в каких параметрах? не вижу.

Я имелв в виду как-то
Код:
public var txt:String;
public var s :URLLoader  = new URLLoader ();
public function  FakeWpapper () {

s.addEventListener (Evenu.COMPLETE,Auth);
s.load (new URLRequest ("C:/1.txt"));

function Auth () 
{
txt=s.data;
this.application 
auth_key:txt
}
Вообще подобные функции, ИМХО, какашка. Почему создать нормальную функцию (не в функции)? Ее и дебажить удобно, и ошибок подобных гораздо меньше.
Если я вас напрягаю или раздражаю, вы всегда можете забиться в угол и поплакать
ACE Valery вне форума Ответить с цитированием
Старый 07.07.2014, 19:36   #5
Le0n4iko_o
Пользователь
 
Аватар для Le0n4iko_o
 
Регистрация: 11.08.2013
Сообщений: 77
По умолчанию

Цитата:
Сообщение от ACE Valery Посмотреть сообщение
Вообще подобные функции, ИМХО, какашка. Почему создать нормальную функцию (не в функции)? Ее и дебажить удобно, и ошибок подобных гораздо меньше.

Я конечно извиняюсь , но если бы знал как сделать не создавал бы тему, в As3 не разбираюсь вообще, посмотрел пару уроков и решил реализовать то что мне нужно , но увы не получается.

Если есть возможность исправить,переписать код то будьте так любезны
вот собственно сам класс

Код:
        import flash.events.*;
	import flash.net.URLRequest;
	import flash.net.URLLoader;

		public class FakeWrapper extends EventDispatcher {
		public var application:Object;
        public var external:Object;
		public var txt:String;
		public var s :URLLoader  = new URLLoader ();
		
	public function FakeWrapper(){

		s.addEventListener (Evenu.COMPLETE,Auth);
		s.load (new URLRequest ("C:/1.txt"));

	function Auth () 
{
	txt=s.data;
}

		
		this.application = {parameters:{
                    api_url:"http://api.vkontakte.ru/api.php",
                    api_id:1111,
                    api_settings:7,
                    viewer_id:1111,
                    viewer_type:2,
                    sid:"",
                    secret:"бла бла",
                    user_id:1111,
                    group_id:0,
                    is_app_user:1,
                    auth_key:txt,
                    language:0,
                    parent_language:0,
                    api_result:"",
                    domain:"vkontakte.ru",
                    scale:1,
                    width:"730",
                    height:"720",
                    swf_url:"",
                    debug:0,
                    referrer:"menu",
                    post_id:"",
                    test:"1"
			}}; 
	
			this.external = {resizeWindow:function (_arg1:int, _arg2:int):void{
                }};
            super();
        }
    }
	
}
а вот что происходит в main

Код:
    import flash.events.*;
    import flash.display.*;
    import flash.net.*;
    import flash.utils.*;
    import flash.system.*;

    public class Main extends Sprite {

        private var preloader:prepreloader;
       	private var params:Params;
        public var Wrapper:Object;
        public var social:SocialAPI;
        private var loader:Loader;
        public var SParams:XMLList;
        
 public function Main():void{
	    this.preloader = new prepreloader();
            this.Wrapper = new FakeWrapper();
            this.social = SocialAPI.getInstance();
			this.SParams = new XMLList();
            super();
            this.params = new Params("C:/load.xml");
            this.params.addEventListener(Event.COMPLETE, this.onParamsLoaded);
            if (stage){
                this.init();
            } else {
                addEventListener(Event.ADDED_TO_STAGE, this.init);
            };
            Security.allowDomain("*");
        }

Последний раз редактировалось Le0n4iko_o; 07.07.2014 в 20:26.
Le0n4iko_o вне форума Ответить с цитированием
Старый 08.07.2014, 01:31   #6
ACE Valery
Сама себе режиссер
Старожил
 
Аватар для ACE Valery
 
Регистрация: 27.04.2007
Сообщений: 3,378
По умолчанию

Так а в чем проблема код инициализации this.application перенести в функцию Auth()?
Если я вас напрягаю или раздражаю, вы всегда можете забиться в угол и поплакать
ACE Valery вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Flash ActionScript Как рассчитывается ParseInt ArtGrek Общие вопросы Web 6 05.01.2017 11:35
Проверка вводимого значения в Flash ActionScript ksvsvk Общие вопросы Web 1 28.11.2014 17:25
Азы Flash и ActionScript Rosicky Помощь студентам 7 11.05.2010 13:41