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

LadyShack 12.07.2006 15:36

Отловить изменение некоторой переменной
 
Добрый день.
Я из Delphi изменяю значение некоторого поля объекта, который во Flash объявлен как
Page = new Object();
Page.T = '111';
Но теперь мне нужно, чтобы по изменению поля Page.T вызывалась некоторая функция, т.е. срабатывало событие onChange для этого поля. Я смотрела в некоторых вопросах их Вашего формума, и поняла, что это возможно, но вот как это сделать не знаю. Подскажите пожалйста.

iNils 12.07.2006 15:37

Надо прочитать про Object.watch

LadyShack 12.07.2006 16:29

Не совсем поняла, писала сообщение через "быстрый ответ", а оно куда-то пропало :( Поэтому повторю, вдруг не отправилось.
Во Flash создала код для регистрации свойства
Код:

Page = new Object();
Page.XChanged = function () {
        Title = this.X
}
Page.watch ('X', this.XChanged());
Page.X = '111';

Однако, не срабатывает. Я правильно регистрирую свойство и его обработчик?

iNils 12.07.2006 16:46

1. Тут принято код обрамлять тегами [code][/code]
2. Принято с большой буквы именовать Классы, а все остальное с маленькой.
3. Ошибка: надо делать так
Код:

Page.watch ('X', Page.XChanged );
а не
Код:

Page.watch ('X', this.XChanged );

LadyShack 12.07.2006 17:13

Все, спасибо заработало, только я использовала в конце концов addProperty
Код:

Page = new Object();
Page.FXMLMap = '';
Page.getXMLMap = function () {
        return this.FXMLMap;
}
Page.setXMLMap = function (AXMLMap) {
        this.FXMLMap = AXMLMap;
        Title = AXMLMap;
}
Page.addProperty ('XMLMap', Page.getXMLMap, Page.setXMLMap)

Наверное для Дельфиста, он более понятен :)


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

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