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

ArtS 14.07.2015 21:21

Обращение несуществующего свойства
 
Делаю получение данных, и использование их для вычисления.
Код AS1/AS2:

 ///получение числа
function now_weight_pol():void {
viewer_id = flashVars['viewer_id'];
var now_weight_loa:URLLoader = new URLLoader();
var request:URLRequest=new URLRequest('/now_weight.php'); // адрес скрипта
request.method=URLRequestMethod.POST;
var vars1:URLVariables = new URLVariables();
vars1['viewer_id']=viewer_id;
request.data=vars1;
now_weight_loa.addEventListener(Event.COMPLETE, onComplete1);
now_weight_loa.load(request);
now_weight_loa.addEventListener(IOErrorEvent.IO_ERROR, qonCom1lete21121);
function qonCom1lete21121(event:Event):void {
        now_weight_pol();
}
function onComplete1(event:Event):void {
        now_weight.text= now_weight_loa.data;
        }}
now_weight_pol();
 
///вычисление
var mySum1:Number = Number(now_weight_loa.data)- Number(now_weight_loa.data);
необходимый_вес.text=mySum1.toString();

Но выдается ошибка:
Цитата:

Обращение несуществующего свойства now_weight_loa.
Как исправить? Буду очень благодарен:)

GBee 14.07.2015 22:03

Код AS3:

function onComplete1(event:Event):void {
        now_weight.text= event.target.data;
        }}


udaaff 14.07.2015 22:22

Код AS3:

function onComplete1(event:Event):void {
        now_weight.text= now_weight_loa.data;
var mySum1:Number = Number(now_weight_loa.data)- Number(now_weight_loa.data);
необходимый_вес.text=mySum1.toString();
        }


GBee 14.07.2015 22:42

А это вложенная функция, я и не заметил.

ArtS 14.07.2015 23:48

Цитата:

Сообщение от udaaff (Сообщение 1184949)
Код AS3:

function onComplete1(event:Event):void {
        now_weight.text= now_weight_loa.data;
var mySum1:Number = Number(now_weight_loa.data)- Number(now_weight_loa.data);
необходимый_вес.text=mySum1.toString();
        }


Спасибо, но так не подходит, так как второе число (Number(now_weight_loa.data)) необходимо взять с другой функции.

callme 15.07.2015 09:41

Ошибка выдается потому что переменная now_weight_loa существует только в теле функции now_weight_pol.

Цитата:

Спасибо, но так не подходит, так как второе число (Number(now_weight_loa.data)) необходимо взять с другой функции.
Объясните подробнее что вы хотите сделать.

kunlan 15.07.2015 11:55

У вас now_weight_loa декларируется в методе now_weight_pol и область видимости переменной ограничивается методом, а вы пытаетесь пробиться к нему из вне, отсюда и ошибка:
Обращение несуществующего свойства now_weight_loa.

ArtS 16.07.2015 21:44

Цитата:

Сообщение от callme (Сообщение 1184956)
Ошибка выдается потому что переменная now_weight_loa существует только в теле функции now_weight_pol.



Объясните подробнее что вы хотите сделать.

У меня получается такой код:
Код AS3:

function first_weight_pol(): void {
        viewer_id = flashVars['viewer_id'];
        var first_weight_loa: URLLoader = new URLLoader();
        var request: URLRequest = new URLRequest('/first_weight.php'); // адрес вашего скрипта
        request.method = URLRequestMethod.POST;
        var vars: URLVariables = new URLVariables();
        vars['viewer_id'] = viewer_id;
        request.data = vars;
        first_weight_loa.addEventListener(Event.COMPLETE, onComplete);
        first_weight_loa.load(request);
        first_weight_loa.addEventListener(IOErrorEvent.IO_ERROR, qonCom1lete2112);
        function qonCom1lete2112(event: Event): void {
                first_weight_pol();
        }
        function onComplete(event: Event): void {
                first_weight.text = first_weight_loa.data;
        }
}
first_weight_pol();
 
function now_weight_pol(): void {
        viewer_id = flashVars['viewer_id'];
        var now_weight_loa: URLLoader = new URLLoader();
        var request: URLRequest = new URLRequest('/now_weight.php'); // адрес вашего скрипта
        request.method = URLRequestMethod.POST;
        var vars1: URLVariables = new URLVariables();
        vars1['viewer_id'] = viewer_id;
        request.data = vars1;
        now_weight_loa.addEventListener(Event.COMPLETE, onComplete1);
        now_weight_loa.load(request);
        now_weight_loa.addEventListener(IOErrorEvent.IO_ERROR, qonCom1lete21121);
        function qonCom1lete21121(event: Event): void {
                now_weight_pol();
        }
        function onComplete1(event: Event): void {
                now_weight.text = now_weight_loa.data;
        }
}
now_weight_pol();
 
///Вычисление
var mySum1: Number = Number(now_weight_loa.data) - Number(first_weight_loa.data);
итог.text = mySum1.toString();

Но выдает ошибку

Добавлено через 1 час 24 минуты
Решено, спасибо.


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

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