Показать сообщение отдельно
Старый 21.07.2008, 16:35
chingachgoog вне форума Посмотреть профиль Найти все сообщения от chingachgoog
  № 5  
Ответить с цитированием
chingachgoog
Banned
 
Аватар для chingachgoog

блогер
Регистрация: Nov 2006
Адрес: Moscow
Сообщений: 2,145
Записей в блоге: 7
iNils, моё уважение!
Буду мучить ASnative теперь

crazyone, ASSetPropFlags

Цитата:
Сообщение от Гурский
Функция ASSetPropFlags (obj, props, allowTrue, allowFalse) требует задания следующих параметров:
· obj. Объект, атрибуты свойств которого будут переопределяться;
· props. Список свойств, для которых необходимо установить атрибуты. Может быть или массивом, содержащим имена свойств в строковом представлении, или строкой, хранящей необходимые данные в виде последовательности иден тификаторов, разделенных запятыми:
Код:
["prop1", "prop2", "prop3"] // Список свойств в виде массива
"prop1, prop2, prop3" // Список свойств в строковом представлении
Если значением данного параметра является null, переопределение атрибутов проводится для всех свойств объекта;
· allowTrue. Число, хранящее три поразрядных флага для каждого из атрибутов.
Флаг первого разряда отвечает за атрибут DontEnum (скрытие от цикла for—in), второго—DontDelete (запрещение удаления), третьего—ReadOnly (защита от переопределения).

Варианты определения атрибутов свойства
Флаг / Величина allowTrue / Возможно ли переопределение / Возможно ли удаление / Возможно ли перечисление
000 0 Да Да Да
001 1 Да Да Нет
010 2 Да Нет Да
011 3 Да Нет Нет
100 4 Нет Да Да
101 5 Нет Да Нет
110 6 Нет Нет Да
111 7 Нет Нет Нет
· При помощи параметра allowTrue можно поднять флаги атрибутов, но не опустить их, т. е., если свойство защищено от удаления, то, введя в качестве n число 0, вы не сделаете его удаляемым. Чтобы установить для какого-то атрибута значение 0, нужно задействовать четвертый параметр рассматриваемой функции. По умолчанию практически для всех свойств и методов встроенных объектов ActionScript было использовано значение allowTrue, равное 7: их нельзя перечислять циклом for—in, удалять и переопределять (некоторые свойства можно задавать самостоятельно — им соответствует значение n=3);
· allowFalse. Параметр, полностью аналогичный n, но служащий не для поднятия, а для опускания флагов атрибутов. Чтобы снять с какого<то атрибута защиту, в заданном для данного параметра числе соответствующий флаг нужно установить как 1. Если создать для allowFalse таблицу, подобную приведенной выше для allowTrue, то элементы в ней будут прямо противоположными.

Код:
ASSetPropFlags(_global, null, null, 1);
for (var i in _global) {
trace(i); 
}